是否可以让 log4j 仅通过更改 log4j.properties
/ xml
配置文件以 JSON 格式输出日志记录?
我使用了一个使用 log4j 1.2
的旧应用程序。我只看到标准布局,但没有看到 JSON 布局。
原文由 Stefan 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是官方的 JSON 布局
https://github.com/logstash/log4j-jsonevent-layout
1)添加maven依赖 https://mvnrepository.com/artifact/net.logstash.log4j/jsonevent-layout
<dependency>
<groupId>net.logstash.log4j</groupId>
<artifactId>jsonevent-layout</artifactId>
<version>1.7</version>
</dependency>
2)将配置添加到您的 log4j.properties
文件
log4j.rootCategory=WARN, RollingLog
log4j.appender.RollingLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingLog.Threshold=TRACE
log4j.appender.RollingLog.File=api.log
log4j.appender.RollingLog.DatePattern=.yyyy-MM-dd
log4j.appender.RollingLog.layout=net.logstash.log4j.JSONEventLayoutV1
原文由 Karpov S.Y. 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答6.1k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
只需使用 buildin PatternLayout 就可以了:
会像这样: