溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出方式是什么

發(fā)布時(shí)間:2021-12-28 00:05:15 來(lái)源:億速云 閱讀:383 作者:柒染 欄目:開(kāi)發(fā)技術(shù)

Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出方式是什么,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

    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

    如圖

    Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出方式是什么

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

    如圖

    Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出方式是什么

    然后在這里你需要記錄的位置記錄你需要的json 數(shù)據(jù) 這里的javaben toString方法已經(jīng)重寫了,返回的的字符串是json字符串

    // 此處添加操作日志記錄
    		ES_LOG.info(new InOutLogModel(outBoundParamsModel.getScanCode(), outboundResult.getFormCode(),
    				outBoundParamsModel.getMerchantId() + "", outBoundParamsModel.getSource(), "此處在逐單出庫(kù)!",
    				new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()), outBoundParamsModel.getUserInfo())
    						.toString());

    最后在服務(wù)器上查看剛才所記錄的日志如圖

    Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出方式是什么

    關(guān)于Slf4j+logback實(shí)現(xiàn)JSON格式日志輸出方式是什么問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI