溫馨提示×

溫馨提示×

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

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

Springboot怎么允許logger.debug輸出日志

發(fā)布時間:2022-07-01 09:47:21 來源:億速云 閱讀:688 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細介紹“Springboot怎么允許logger.debug輸出日志”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當(dāng),希望這篇“Springboot怎么允許logger.debug輸出日志”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

Springboot允許logger.debug輸出日志

說實話對日志這東西一直只是太膚淺的懂,就會用logger.info和logger.error輸出,今天在寫LemonRobot項目的時候,決定把調(diào)試信息也打出來,然后根據(jù)日志級別控制讓上線的時候不顯示debug級別的日志。

但是運行后發(fā)現(xiàn),默認logger.debug產(chǎn)生的日志也沒有輸出到控制臺,經(jīng)過一番研究,是由于logback的配置問題。

在sr/main/resources文件夾中新建logback.xml,然后復(fù)制下面的配置到文件中:

logback.xml會被自動加載,如果名字不一樣,我們需要在application.yml或者是application.properties中配置:

#配置日志
logging:
#此處存放日志的路徑
  path:
    config: classpath:config/logback-spring.xml
#指定不同目錄下的日志的級別
  level:
    com.shimain.springboot.mapper: DEBUG
<?xml version="1.0" encoding="UTF-8" ?>

<configuration scan="true" scanPeriod="3 seconds">
    <!--設(shè)置日志輸出為控制臺-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%logger{32}] %msg%n</pattern>
        </encoder>
    </appender>
    <!--設(shè)置日志輸出為文件-->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>logFile.log</File>
        <rollingPolicy  class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>logFile.%d{yyyy-MM-dd_HH-mm}.log.zip</FileNamePattern>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%d{HH:mm:ss,SSS} [%thread] %-5level %logger{32} - %msg%n</Pattern>
        </layout>
    </appender>
    <root>
        <level value="DEBUG"/>
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

這段配置文件可以讓日志同時輸出到控制臺和本地文件,同時將日志文件打成zip壓縮包。

如果這個時候項目上線了,不需要debug日志了,只需要修改root標(biāo)簽下面的level級別為INFO即可。

SpringBoot啟動debug級別日志報錯

Tomcat Native library could not be found using names [tcnative-1, libtcnative-1]

錯誤截圖

Springboot怎么允許logger.debug輸出日志

原因

tomcat沒有找到JNI動態(tài)鏈接庫。Apache Tomcat下是有這個dll的,但是啟動時在Springboot中內(nèi)嵌Tomcat下沒有找到。

這是因為Tomcat中的connector為了提高性能,采用了加載與操作系統(tǒng)綁定(非跨平臺)的本地庫的方式,比如Windows系統(tǒng)中就是.dll動態(tài)鏈接庫。

上述異常中找不到的兩個.dll庫文件,默認會去Tomcat的bin目錄下去找,但是由于SpringBoot的Tomcat是嵌入式的,沒有這兩個.dll。

解決辦法

可以忽略這個報錯,因此SpringBoot把這個錯誤的日志級別設(shè)置為debug。

如果有強迫癥者,也可以按如下方式解決:

直接將tomcat下的tcnative-1.dll和libtcnative-1.dll放到C:\Windows\System32下,重新啟動項目即可。

讀到這里,這篇“Springboot怎么允許logger.debug輸出日志”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI