為web專案新增logback
阿新 • • 發佈:2018-12-30
在專案進行的過程中,難免要涉及到日誌檢視和列印,所以學習了logback的使用和配置方法,在這裡記錄下,和大家分享
1.jar包
上面的兩個包是必須要使用的,注意不要重複載入了,不然會找不到這個包,導致載入失敗
2.配置xml
在web.xml裡面先配置好logback.xml的地址,配置如下
配置logback.xml如下所示<context-param> <param-name>logbackConfigLocation</param-name> <param-value>classpath:main/resources/logback.xml</param-value> </context-param>
上面可以根據自己的需要修改配置檔案,簡單介紹下<?xml version="1.0" encoding="UTF-8"?> <configuration> <property name="APP_Name" value="cptIdeUI" /> <contextName>${APP_Name}</contextName> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>[%d{yyyyMMdd HH:mm:ss-SSS}] %-5level [%thread][%logger:%line]- %msg%n</pattern> </layout> <!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> --> </appender> <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender"> <discriminator> <key>filename</key> <DefaultValue>c:/test</DefaultValue> </discriminator> <sift> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>C:/test.log</file> <prudent>false</prudent> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${filename}-%d{yyyyMMdd}.%i.log.gz</FileNamePattern> <maxHistory>30</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>20MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <ImmediateFlush>false</ImmediateFlush><!-- 快取 --> <pattern>[%d{yyyyMMdd HH:mm:ss.SSS}] %-5level [%thread][%logger:%line]- %msg%n</pattern> </layout> </appender> </sift> </appender> <!-- 過濾第三方日誌--> <logger name="org.apache.cxf" level="error"/> <!-- 開發環境level設定為ALL列印和記錄所有日誌,生成環境建議修改為ERROR或WARN避免產生大量日誌 --> <root level="debug"> <appender-ref ref="SIFT"></appender-ref> <appender-ref ref="STDOUT"></appender-ref> </root> </configuration>
STDOUT是配置輸出日誌的格式
FILE是配置輸出日誌檔案的名稱格式和大小等一些基本配置
<logger>配置了需要過濾的第三方日誌,這裡可以新增我們自己jar包裡的內容,並設定顯示級別,這裡我假設把cxf設定為error級別才顯示日誌
<root>的話就簡單的解釋為除了logger自己配置的日誌以外,其他的都是root的配置。