【问题标题】:Log4j writing raw text as opposed to a logging event?Log4j 编写原始文本而不是记录事件?
【发布时间】:2016-12-29 01:05:04
【问题描述】:

在我的公司有一个日志基础设施,它通过以下形式的端口接收 json 格式的日志:

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

我正在使用一个应用程序,该应用程序当前使用 log4j 将其日志输出到一些文本文件中,并且我也想将日志写入此日志记录基础架构,因此我添加了一个 SocketAppender 以写入指定的主机并使用表单的 PatternLayout 移植

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

但是,Log4j 本身似乎并不发送消息——它将此消息包装在某种LoggingEvent 中,我的消息是其中的一个字段。显然,这是由服务器反序列化的,但由于我试图连接 2 个软件,所以我不能这样做。有没有办法只将消息而不是整个 LoggingEvent 发送到套接字?

【问题讨论】:

  • 您使用的是哪个 log4j 版本?
  • 使用版本 1.2.16

标签: logging log4j


【解决方案1】:

如果有人感兴趣,我通过编写自己的自定义附加程序解决了这个问题,使用this 作为流程的一般指南。

【讨论】:

    猜你喜欢
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 2017-09-25
    • 2012-06-29
    相关资源
    最近更新 更多