Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出方式
Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出
依賴
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.8</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.28</version> </dependency> <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>6.1</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-access</artifactId> <version>1.2.3</version> </dependency>
logback.xml
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers class="net.logstash.logback.composite.loggingevent.LoggingEventJsonProviders">
<pattern>
<pattern>
{
"date":"%date{\"yyyy-MM-dd HH:mm:ss.SSS\",UTC}",
"level":"%level",
"msg":"%msg"
}
</pattern>
</pattern>
</providers>
<charset>UTF-8</charset>
</encoder>
輸出:
{"date":"2019-09-17 08:29:20.879","level":"INFO","msg":"{\"tags\":{\"namespace\":\"service.MQTT.push\",,\"metric.correct\":true}}"}
{"date":"2019-09-17 08:30:20.784","level":"INFO","msg":"{\"tags\":{\"namespace\":\"service.MQTT.command\",\"metric.correct\":true}}"}
{"date":"2019-09-17 08:30:20.854","level":"INFO","msg":"{\"tags\":{\"namespace\":\"service.MQTT.push\",\"metric.correct\":true}}"}
logback 記錄JSON日志
首先在你要記錄的json日志中需要對(duì)某個(gè)類單獨(dú)配置他的logger
如圖

然后在你對(duì)應(yīng)的類中調(diào)用 該logger
如圖

然后在這里你需要記錄的位置記錄你需要的json 數(shù)據(jù) 這里的javaben toString方法已經(jīng)重寫了,返回的的字符串是json字符串
// 此處添加操作日志記錄
ES_LOG.info(new InOutLogModel(outBoundParamsModel.getScanCode(), outboundResult.getFormCode(),
outBoundParamsModel.getMerchantId() + "", outBoundParamsModel.getSource(), "此處在逐單出庫!",
new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()), outBoundParamsModel.getUserInfo())
.toString());
最后在服務(wù)器上查看剛才所記錄的日志如圖

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
確保SpringBoot定時(shí)任務(wù)只執(zhí)行一次的常見方法小結(jié)
在Spring Boot項(xiàng)目中,確保定時(shí)任務(wù)只執(zhí)行一次是一個(gè)常見的需求,這種需求可以通過多種方式來實(shí)現(xiàn),以下是一些常見的方法,它們各具特點(diǎn),可以根據(jù)項(xiàng)目的實(shí)際需求來選擇最合適的方法,需要的朋友可以參考下2024-10-10
Java超詳細(xì)精講數(shù)據(jù)結(jié)構(gòu)之bfs與雙端隊(duì)列
廣搜BFS的基本思想是: 首先訪問初始點(diǎn)v并將其標(biāo)志為已經(jīng)訪問。接著通過鄰接關(guān)系將鄰接點(diǎn)入隊(duì)。然后每訪問過一個(gè)頂點(diǎn)則出隊(duì)。按照順序,訪問每一個(gè)頂點(diǎn)的所有未被訪問過的頂點(diǎn)直到所有的頂點(diǎn)均被訪問過。廣度優(yōu)先遍歷類似與層次遍歷2022-07-07
JetBrains?發(fā)布下一代?IDE無比輕量幾秒就能啟動(dòng)干活
雖然?JetBrains?公司說?Fleet?的定位和目標(biāo)并不是代替其他?IDE,但個(gè)人覺得,?如果?Fleet?火起來了,其他?IDE?就會(huì)黯然失色,特別是多語言開發(fā)者,誰愿意裝多個(gè)?IDE?呢?到時(shí)候,可能?JetBrains?以后的所有?IDE?要一統(tǒng)江湖了2021-12-12
spring事務(wù)的propagation傳播屬性示例詳解
這篇文章主要為大家介紹了spring事務(wù)的propagation傳播屬性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09

