Logback
的Root
節(jié)點(diǎn)是必須使用的,由Root
節(jié)點(diǎn)可以指定多個(gè)配置的appender
具體如何輸出减细,然后子節(jié)點(diǎn)logger
的additivity
的配置就是說(shuō)匆瓜,確定是否把日志打印傳遞給父節(jié)點(diǎn)Root
打印。
<?xml version= "1.0" encoding ="UTF-8"?>
<configuration scan= "true"><!-- 這個(gè)是根配置文件未蝌,一定要有的
scan:是當(dāng)配置文件被修改后會(huì)被重新加載
scanPeriod:設(shè)置監(jiān)測(cè)配置文件是否有修改的時(shí)間間隔驮吱,如果沒(méi)有給出時(shí)間單位,默認(rèn)單位是毫秒萧吠。當(dāng)scan為true時(shí)左冬,此屬性生效。默認(rèn)的時(shí)間間隔為1分鐘纸型。
debug:當(dāng)此屬性設(shè)置為true時(shí)拇砰,將打印出 logback內(nèi)部日志信息,實(shí)時(shí)查看 logback運(yùn)行狀態(tài)狰腌。默認(rèn)值為false除破。-->
<!-- 日志存放路徑 下面的標(biāo)簽可以自己定義
name:相當(dāng)于Map的key
value:就是map的value
${catalina.base}是tomcat的當(dāng)前路徑
/logs:就是 tomcat下的日志路徑,
/ehrlog:如果沒(méi)有目錄會(huì)默認(rèn)創(chuàng)建-->
<substitutionProperty name="logbase" value="${catalina.base}/logs/ehrLog/" />
<!-- 時(shí)間戳:這個(gè)時(shí)間戳可以作為每日日志的名稱 -->
<timestamp key="bySecond" datePattern="yyyy-MM-dd" />
<!-- appender:
name相當(dāng)于一個(gè)名稱
class:確定要加載哪個(gè)類
encoder:一定要加 encoder琼腔,默認(rèn)配置為PatternLayoutEncoder
patter:必填
ConsoleAppender:也明白是什么意思瑰枫,就是輸出在控制臺(tái)上-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" >
<encoder>
<pattern>
%d{ yyyy-MM-dd HH:mm:ss} [%thread] [%level] - %m%n
</pattern>
</encoder>
</appender >
<!-- 把日志存儲(chǔ)
encoding:日志的編碼
file:指定當(dāng)前生成的日志文件名稱
rollingPolicy:滾動(dòng)策略
FileNamePattern:移動(dòng)文件最后的名稱,跟file標(biāo)簽結(jié)合使用展姐,
比如file里面的內(nèi)容是 1. txt
那么躁垛,F(xiàn)ileNamePattern里面寫的是2. txt,那么最后文件名就為2. txt
如果最后結(jié)尾是 gz或者zip 圾笨,那么教馆,就會(huì)自動(dòng)打成壓縮包-->
<appender name="logFile" class="ch.qos.logback.core.rolling.RollingFileAppender" >
<!-- 編碼 -->
<Encoding> UTF-8</ Encoding>
<!-- 按照時(shí)間來(lái) -->
<file> ${logbase} ehr.${bySecond}.log</file >
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy" >
<FileNamePattern> ${logbase} ehr.${label}.%d{yyyy -MM-dd}.log.zip </FileNamePattern>
</rollingPolicy>
<!-- 布局 -->
<encoder>
<!--格式化輸出:%d表示日期,%thread表示線程名擂达,%-5level:級(jí)別從左顯示5個(gè)字符寬度% msg:日志消息土铺,%n是換行符-->
<pattern> %d{yyyy-MM- dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n </pattern>
</encoder>
<charset> UTF-8</ charset>
<append> false</ append>
</appender >
<!-- logger:日志單位
name:是你當(dāng)前掃描的哪個(gè)包
level:日志的級(jí)別
additivity:是否要把當(dāng)前的日志級(jí)別,給root根logger
appender-ref:appender的引用
-->
<logger name="com.zqlwl.controller" level= "trace" additivity="true" >
<appender-ref ref= "STDOUT"/>
<appender-ref ref= "logFile"/>
</logger >
<!-- 默認(rèn)根節(jié)點(diǎn)是INFO級(jí)別的日志 -->
<!-- root:logger的根節(jié)點(diǎn),就這一個(gè)悲敷,默認(rèn)名稱就是root
level:日志級(jí)別
appender- ref:確定使用哪個(gè)appender
-->
<root level="info">
<appender-ref ref= "fileAppender"/>
<appender-ref ref= "STDOUT"/>
</root >
</configuration>
請(qǐng)各位看官耐心的看完究恤,一定會(huì)對(duì)大家有所幫助的,咱們下次再見(jiàn)后德。