Springboot允許logger.debug輸出日志方式
Springboot允許logger.debug輸出日志
說(shuō)實(shí)話對(duì)日志這東西一直只是太膚淺的懂,就會(huì)用logger.info和logger.error輸出,今天在寫LemonRobot項(xiàng)目的時(shí)候,決定把調(diào)試信息也打出來(lái),然后根據(jù)日志級(jí)別控制讓上線的時(shí)候不顯示debug級(jí)別的日志。
但是運(yùn)行后發(fā)現(xiàn),默認(rèn)logger.debug產(chǎn)生的日志也沒有輸出到控制臺(tái),經(jīng)過(guò)一番研究,是由于logback的配置問題。
在sr/main/resources文件夾中新建logback.xml,然后復(fù)制下面的配置到文件中:
logback.xml會(huì)被自動(dòng)加載,如果名字不一樣,我們需要在application.yml或者是application.properties中配置:
#配置日志 logging: #此處存放日志的路徑 ? path: ? ? config: classpath:config/logback-spring.xml #指定不同目錄下的日志的級(jí)別 ? level: ? ? com.shimain.springboot.mapper: DEBUG
<?xml version="1.0" encoding="UTF-8" ?> <configuration scan="true" scanPeriod="3 seconds"> ? ? <!--設(shè)置日志輸出為控制臺(tái)--> ? ? <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>
這段配置文件可以讓日志同時(shí)輸出到控制臺(tái)和本地文件,同時(shí)將日志文件打成zip壓縮包。
如果這個(gè)時(shí)候項(xiàng)目上線了,不需要debug日志了,只需要修改root標(biāo)簽下面的level級(jí)別為INFO即可。
SpringBoot啟動(dòng)debug級(jí)別日志報(bào)錯(cuò)
Tomcat Native library could not be found using names [tcnative-1, libtcnative-1]
錯(cuò)誤截圖
原因
tomcat沒有找到JNI動(dòng)態(tài)鏈接庫(kù)。Apache Tomcat下是有這個(gè)dll的,但是啟動(dòng)時(shí)在Springboot中內(nèi)嵌Tomcat下沒有找到。
這是因?yàn)門omcat中的connector為了提高性能,采用了加載與操作系統(tǒng)綁定(非跨平臺(tái))的本地庫(kù)的方式,比如Windows系統(tǒng)中就是.dll動(dòng)態(tài)鏈接庫(kù)。
上述異常中找不到的兩個(gè).dll庫(kù)文件,默認(rèn)會(huì)去Tomcat的bin目錄下去找,但是由于SpringBoot的Tomcat是嵌入式的,沒有這兩個(gè).dll。
解決辦法
可以忽略這個(gè)報(bào)錯(cuò),因此SpringBoot把這個(gè)錯(cuò)誤的日志級(jí)別設(shè)置為debug。
如果有強(qiáng)迫癥者,也可以按如下方式解決:
直接將tomcat下的tcnative-1.dll和libtcnative-1.dll放到C:\Windows\System32下,重新啟動(dòng)項(xiàng)目即可。
可到官方地址下載。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)體對(duì)象與Map之間的轉(zhuǎn)換工具類代碼實(shí)例
這篇文章主要介紹了java實(shí)體對(duì)象與Map之間的轉(zhuǎn)換工具類代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12springboot集成JWT實(shí)現(xiàn)身份認(rèn)證(權(quán)鑒)的方法步驟
本文主要介紹了springboot集成JWT實(shí)現(xiàn)身份認(rèn)證(權(quán)鑒)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04利用Java實(shí)現(xiàn)word導(dǎo)入導(dǎo)出富文本(含圖片)的詳細(xì)代碼
這篇文章主要為大家詳細(xì)介紹了利用Java實(shí)現(xiàn)word導(dǎo)入導(dǎo)出富文本(含圖片),文中的示例代碼講解詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下2024-02-02SpringBoot實(shí)現(xiàn)IP地址解析的示例代碼
本篇帶大家實(shí)踐在springboot項(xiàng)目中獲取請(qǐng)求的ip與詳細(xì)地址,我們的很多網(wǎng)站app中都已經(jīng)新增了ip地址顯示,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01JDK14新特性之switch表達(dá)式的實(shí)現(xiàn)
這篇文章主要介紹了JDK14新特性之switch表達(dá)式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05SpringBoot靜態(tài)資源映射規(guī)則淺析
這篇文章主要介紹了SpringBoot靜態(tài)資源映射規(guī)則,今天在玩SpringBoot的demo的時(shí)候,放了張圖片在resources目錄下,啟動(dòng)區(qū)訪問的時(shí)候,突然好奇是識(shí)別哪些文件夾來(lái)展示靜態(tài)資源的, 為什么有時(shí)候放的文件夾不能顯示,有的卻可以2023-02-02