2016-12-29 28 views
0

在我的公司存在,在表格上某个端口收到的JSON格式的日志日志记录基础设施:Log4j写入原始文本而不是记录事件?

{"Type":"<LogName, i.e. INFO>","Message":"<Message>",etc...} 

我使用,目前其输出的日志使用log4j的到一些文本文件的应用程序,和我倒是喜欢日志写入此日志基础设施一样,所以我加了一个SocketAppender使用形式

{"Type":"%p", "Message":"%m%n", etc...} 

不过的的PatternLayout写入指定的主机和端口,好像Log4j的不发该消息本身 - 它将这个消息包装在某种中,其中我的信息是一个字段。显然,这意味着被服务器反序列化,但由于我试图连接2个软件,我不能这样做。有没有办法只发送消息而不是整个LoggingEvent到套接字?

+0

您使用的是哪个log4j版本? –

+0

使用版本1.2.16 – user7352005

回答

0

如果有人有兴趣,我通过编写我自己的自定义appender,使用this作为过程的一般指南来解决问题。