2012-03-27 28 views
4

我正在使用Logback套接字appender,并且一切正常,我可以从套接字获取日志。如何为插座appender添加编码器

我的场景是:我们有一个分布式应用程序,所有的日志都会被保存到一个日志服务器的日志文件中,使用SocketAppender。我只是使用Logback中提供的SimpleSocketServer从所有应用程序获取日志。日志可以被获取并保存。

但是,唯一的问题是,对于套接字appender,不能添加编码器,并且日志消息将被格式化为某种默认格式。但我必须以某种格式保存它们。

我可以找到的一种方式是编写一个日志服务器,如SimpleSocketServer,日志服务器将获得序列化对象(ILoggingEvent),并自己格式化对象。

但是用这种方法,我需要编写太多的代码。我认为应该有一种方便的方法来添加编码器。

回答

1

我不认为你需要担心序列化版本。您将在各种客户端String上给出SocketAppender消息。

然后,只要您configureSimpleSocketServer要在您的配置中使用您所需的编码器,您的所有消息应在磁盘上正确的格式。

+0

谢谢,虽然已经很久了。我当时的最终解决方案就像你所说的那样,以字符串形式发送日志,并在服务器端解码字符串并按照我的需要构建格式。 – Mavlarn 2017-06-16 04:40:10