1. 程式人生 > >為web專案新增logback

為web專案新增logback

在專案進行的過程中,難免要涉及到日誌檢視和列印,所以學習了logback的使用和配置方法,在這裡記錄下,和大家分享

1.jar包


上面的兩個包是必須要使用的,注意不要重複載入了,不然會找不到這個包,導致載入失敗

2.配置xml

在web.xml裡面先配置好logback.xml的地址,配置如下

	<context-param>
		<param-name>logbackConfigLocation</param-name>
		<param-value>classpath:main/resources/logback.xml</param-value>
	</context-param>
配置logback.xml如下所示
<?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的配置。