我需要以漂亮的Json格式打印日志,并包含所有详细信息。
[目前,我在spring boot和application.yml配置文件中提供小型服务。我具有以下用于记录的配置;
logging:
level:
root: INFO
org:
springframework:
security: INFO
web: INFO
hibernate: INFO
apache:
commons:
dbcp2: INFO
file: ../logs/myLog.log
pattern:
console: '%d{yyyy-MMM-dd HH:mm:s s.SSS} %-5level [%thread] %logger{15} - %msg%n'
您能否建议我是否有任何配置可以更改附加程序,所以我可以获取Json格式的日志。
首先在文件夹src / main / resources中创建一个名为logback-spring.xml的文件,其内容类似于此:]]
<configuration> <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="net.logstash.logback.encoder.LogstashEncoder"/> </appender> <logger name="jsonLogger" additivity="false" level="DEBUG"> <appender-ref ref="consoleAppender"/> </logger> <root level="INFO"> <appender-ref ref="consoleAppender"/> </root> </configuration>
第二添加以下依赖项:
<dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>6.3</version> </dependency>
就是这样。
您应该看到与这一行相似的行:
{"@timestamp":"2018-10-11T23:48:57.215+00:00","@version":1,"message":"Sample TRACE Message","logger_name":"com.example.demo.LoggingExample","thread_name":"http-nio-8080-exec-1","level":"TRACE","level_value":5000}
请参见full example以获取更多详细信息。