首頁 > Java > java教程 > Springboot怎麼允許logger.debug輸出日誌

Springboot怎麼允許logger.debug輸出日誌

WBOY
發布: 2023-05-11 11:40:20
轉載
1312 人瀏覽過

Springboot允許logger.debug輸出日誌

說實話對日誌這東西一直只是太膚淺的懂,就會用logger.info和logger.error輸出,今天在寫LemonRobot專案的時候,決定把偵錯資訊也打出來,然後根據日誌等級控制讓上線的時候不顯示debug等級的日誌。

但是運行後發現,預設logger.debug產生的日誌也沒有輸出到控制台,經過一番研究,是由於logback的配置問題。

在sr/main/resources資料夾中新建logback.xml,然後複製下面的配置到檔案中:

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">
    <!--设置日志输出为控制台-->
    <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>
    <!--设置日志输出为文件-->
    <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標籤下面的level等級為INFO即可。

SpringBoot啟動debug等級日誌錯誤

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

錯誤截圖

Springboot怎麼允許logger.debug輸出日誌

原因

tomcat沒有找到JNI動態連結函式庫。 Apache Tomcat下方是有這個dll的,但是啟動時在Springboot中內嵌Tomcat下沒有找到。

這是因為Tomcat中的connector為了提高效能,採用了載入與作業系統綁定(非跨平台)的本地庫的方式,例如Windows系統中就是.dll動態連結庫。

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

解決方法

可以忽略這個報錯,因此SpringBoot把這個錯誤的日誌等級設定為debug。

如果有強迫症者,也可以如下解決:

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

以上是Springboot怎麼允許logger.debug輸出日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板