Does log4j support JSON format? Does log4j support JSON format? json json

Does log4j support JSON format?


this is official JSON layout

https://github.com/logstash/log4j-jsonevent-layout

1) Add maven dependency 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) Add configuration to your log4j.properties file

 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


just use buildin PatternLayout is ok:

log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.encoding=UTF-8log4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern={"debug_level":"%p","debug_timestamp":"%d{ISO8601}","debug_thread":"%t","debug_file":"%F", "debug_line":"%L","debug_message":"%m"}%n

will out put like:

{    "debug_level" : "INFO",    "debug_timestamp" : "2016-05-26 16:37:08,938",    "debug_thread" : "main",    "debug_file" : "TestLogOutPut.java",    "debug_line" : "316",    "debug_message" : "hello i am a log message"}


Yes It is possible.Take a look at this linkIt can generate

{   "timestamp":1352412458890,   "date":"Nov 8, 2012 10:07:38 PM",   "hostname":"michael1",   "username":"michael",   "level":"INFO",   "thread":"main",   "classname":"uk.me.mjt.log4jjson.SimpleJsonLayoutTest",   "filename":"SimpleJsonLayoutTest.java",   "linenumber":25,   "methodname":"testDemonstration",   "message":"Example of some logging" }