同事整理的,在此分享。logback,log4j2 等slf4j的日志实现均可以以json格式输出日志, 这里采用的是logback。固然也能够以文本行的格式输出,而后在logstash里经过grok解析,可是直接以json格式输出,在logstash处理时效率会高一点。html
为了让 logback 输出JSON 格式的日志文件,须要在pom.xml 加入以下依赖java
|
logback日志配置示例app
|
Json 字段说明:
名称 |
说明 |
备注 |
|
|
|
|
|
---|---|---|---|---|---|---|---|
tags | 用于说明这条日志是属于哪一类日志 | ||||||
timestamp |
日志记录时间 | ||||||
project |
系统名称,该日志来自于哪一个系统 | ||||||
log_level |
输出日志级别 | ||||||
thread |
输出产生日志的线程名。 | ||||||
class_name |
输出执行记录请求的调用者的全限定名 | |
|||||
line_number |
输出执行日志请求的行号 | |
|||||
message |
输出应用程序提供的信息 | ||||||
stack_trace |
异常栈信息 | ||||||
req_id |
请求ID,用于追踪请求 | 须要引入aop-logging | |||||
elapsed_time |
该方法执行时间,单位: 毫秒 | 须要引入aop-logging |
%X{key}: 表示该项来自于SLF4j MDC,须要引入 aop-logging
|
|
logstash-java-log
|
filebeat.yml
|