關(guān)于logBack配置日志文件及編碼配置的問(wèn)題
記錄下使用logback中遇到的問(wèn)題,方便以后查看
logback輸出到文件文件大小設(shè)置問(wèn)題
目前網(wǎng)上能搜到的關(guān)于輸出到日志文件的大小設(shè)置有如下兩種:
1.單獨(dú)的triggeringPolicy標(biāo)簽
若rollingPolicy用SizeAndTimeBasedRollingPolicy,直接復(fù)制下面的triggeringPolicy會(huì)報(bào)錯(cuò),說(shuō)無(wú)法創(chuàng)建triggeringPolicy component。
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>tests.%i.log.zip</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>5MB</maxFileSize> </triggeringPolicy>
2.此種方式會(huì)有warning 說(shuō)SizeAndTimeBasedFNATP是過(guò)時(shí)的了
請(qǐng)用最新的SizeBasedTriggeringPolicy
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>E:/logs/mylog-%d{yyyy-MM-dd_HH-mm}.%i.log</fileNamePattern>
<maxHistory>5</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
目前自己用的是一種比較簡(jiǎn)單的方法:
tests.%i.log.zip
30
10MB
如果完全按照第一種方法里的貼進(jìn)去應(yīng)該也是沒(méi)問(wèn)題的。
設(shè)置日志文件輸出編碼格式
網(wǎng)上logback.xml配置的很多,但大部分都不包含輸出編碼設(shè)置的,而logback默認(rèn)輸出到文件的編碼格式是ANSI的,所以.java里是UTF-8沒(méi)有問(wèn)題的輸出到日志里卻成了亂碼。
網(wǎng)上搜到的第一種方式是:
append下添加標(biāo)簽:
<charset class="java.nio.charset.Charset">UTF-8</charset>
此方法使用后logback本身有報(bào)錯(cuò),說(shuō)無(wú)法識(shí)別charset配置
第二種方法:
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
有的說(shuō)此方式已經(jīng)過(guò)時(shí)了,實(shí)際使用logback-core 1.2.3版本的沒(méi)有啥問(wèn)題。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
@Transactional遇到try catch失效的問(wèn)題
這篇文章主要介紹了@Transactional遇到try catch失效的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
詳解SpringBoot如何實(shí)現(xiàn)整合微信登錄
本文主要介紹了SpringBoot實(shí)現(xiàn)整合微信登錄的過(guò)程詳解,文中的示例代碼介紹的非常詳細(xì),對(duì)我們的學(xué)習(xí)過(guò)工作有一定的參考價(jià)值,需要的朋友可以關(guān)注下2021-12-12
Java中使用JavaMail多發(fā)郵件及郵件的驗(yàn)證和附件實(shí)現(xiàn)
這篇文章主要介紹了Java中使用Java Mail多發(fā)郵件及郵件的驗(yàn)證和附件實(shí)現(xiàn),包括在郵件中加入圖片等功能的實(shí)現(xiàn)講解,需要的朋友可以參考下2016-02-02
十分鐘速懂java知識(shí)點(diǎn) System類(lèi)
這篇文章主要介紹了java知識(shí)點(diǎn)System類(lèi),根據(jù)一次面試總結(jié)的,可以十分鐘速懂System類(lèi),感興趣的小伙伴們可以參考一下2015-12-12
Spring啟動(dòng)后獲取所有擁有特定注解的Bean實(shí)例代碼
這篇文章主要介紹了Spring啟動(dòng)后獲取所有擁有特定注解的Bean實(shí)例代碼,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02

