logback日誌配置

一、首先配置pom.xml 肯定日誌及相關依賴(用slf4j+logback代替jcl+log4j) spring

<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.5</version>
		</dependency>
		<!-- 將現有的jakarta commons logging的調用轉換成lsf4j的調用。 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>1.7.5</version>
		</dependency>
		<!-- 將現有的log4j的調用轉換成lsf4j的調用。 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>log4j-over-slf4j</artifactId>
			<version>1.7.12</version>
		</dependency>
		<!-- Hack:確保commons-logging的jar包不被引入,不然將和jcl-over-slf4j衝突 -->
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.3</version>
			<scope>provided</scope>
		</dependency>
		<!-- slf4j的實現:logback,用來取代log4j。 -->
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.0.13</version>
			<scope>runtime</scope>
		</dependency>

二、在classpath路徑中新建logback.xml文件,文件內容以下apache

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_FILE" value="D:\\log\\dal.log" />
<property name="LOG_PATTERN" value="D:\\log\\pattern\\event.%d{yyyy-MM-dd}\L%d{dd}-%i.log" />
<property name="ENCODE" value="UTF-8" />
<property name="LOG_LEVEL" value="DEBUG"></property> 
	<!-- trace日誌添加到控制檯 -->
   <appender name="TRACESTDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--   Layout 負責把事件轉換成字符串,格式化的日誌信息的輸出。 -->
        <!-- 輸出格式 時間 進程 輸出級別 輸出信息 換行符 -->
         <target>System.out</target>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>TRACE</level>
             <onMatch>ACCEPT</onMatch>   
      		<onMismatch>DENY</onMismatch>   
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
			%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
    <!-- debug日誌添加到控制檯 -->
    <appender name="DEBUGSTDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--   Layout 負責把事件轉換成字符串,格式化的日誌信息的輸出。 -->
        <!-- 輸出格式 時間 進程 輸出級別 輸出信息 換行符 -->
         <target>System.out</target>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
             <onMatch>ACCEPT</onMatch>   
      		<onMismatch>DENY</onMismatch>   
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
			%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
    <!-- info日誌添加到控制檯 -->
    <appender name="INFOSTDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--   Layout 負責把事件轉換成字符串,格式化的日誌信息的輸出。 -->
        <!-- 輸出格式 時間 進程 輸出級別 輸出信息 換行符 -->
         <target>System.out</target>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
        	<level>INFO</level>
        	 <onMatch>ACCEPT</onMatch>   
      		<onMismatch>DENY</onMismatch>
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
			%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
	<!-- warn及error信息添加到控制檯 -->
    <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.err</target>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>WARN</level>
        </filter>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern><![CDATA[
            %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            ]]></pattern>
        </layout>
    </appender>
    
	<!-- 滾動記錄文件,先將日誌記錄到指定文件,天天生成一個文件 30天週期歸檔  -->
 	<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${LOG_FILE}</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_PATTERN}</fileNamePattern>
			<maxHistory>30</maxHistory>
			<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
		    	<MaxFileSize>5MB</MaxFileSize>
		    </TimeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
		</encoder>
	</appender>
	
	
	
    <logger name="org.apache">
        <level value="INFO" />
    </logger>

    <logger name="org.springframework">
        <level value="INFO" />
    </logger>

    <root>
    	<!--設定全局日誌級別-->
        <level value="${LOG_LEVEL}" />
         <appender-ref ref="TRACESTDOUT" />
         <appender-ref ref="DEBUGSTDOUT" /> 
         <appender-ref ref="INFOSTDOUT" />
        <appender-ref ref="STDERR" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

三、啓動項目,如出現如下信息,表示logback日誌啓動成功api

相關文章
相關標籤/搜索