Springboot允許logger.debug輸出日志方式
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]
錯誤截圖
原因
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下,重新啟動項目即可。
可到官方地址下載。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- springboot如何去除debug日志
- SpringBoot項目讀取外置logback配置文件的問題及解決
- Springboot內外部logback多環境配置詳解
- SpringBoot配置logback.xml 多環境的操作步驟
- springboot如何使用logback-spring配置日志格式,並分環境配置