關(guān)于logBack配置日志文件及編碼配置的問題
記錄下使用logback中遇到的問題,方便以后查看
logback輸出到文件文件大小設(shè)置問題
目前網(wǎng)上能搜到的關(guān)于輸出到日志文件的大小設(shè)置有如下兩種:
1.單獨的triggeringPolicy標(biāo)簽
若rollingPolicy用SizeAndTimeBasedRollingPolicy,直接復(fù)制下面的triggeringPolicy會報錯,說無法創(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.此種方式會有warning 說SizeAndTimeBasedFNATP是過時的了
請用最新的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>
目前自己用的是一種比較簡單的方法:
tests.%i.log.zip
30
10MB
如果完全按照第一種方法里的貼進(jìn)去應(yīng)該也是沒問題的。
設(shè)置日志文件輸出編碼格式
網(wǎng)上logback.xml配置的很多,但大部分都不包含輸出編碼設(shè)置的,而logback默認(rèn)輸出到文件的編碼格式是ANSI的,所以.java里是UTF-8沒有問題的輸出到日志里卻成了亂碼。
網(wǎng)上搜到的第一種方式是:
append下添加標(biāo)簽:
<charset class="java.nio.charset.Charset">UTF-8</charset>
此方法使用后logback本身有報錯,說無法識別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>
有的說此方式已經(jīng)過時了,實際使用logback-core 1.2.3版本的沒有啥問題。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
@Transactional遇到try catch失效的問題
這篇文章主要介紹了@Transactional遇到try catch失效的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01Java中使用JavaMail多發(fā)郵件及郵件的驗證和附件實現(xiàn)
這篇文章主要介紹了Java中使用Java Mail多發(fā)郵件及郵件的驗證和附件實現(xiàn),包括在郵件中加入圖片等功能的實現(xiàn)講解,需要的朋友可以參考下2016-02-02