同事整理的,在此分享。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
|