Logback 將日誌分級別打印

感謝有奉獻精神的人

轉自:http://www.cnblogs.com/dragonflyyi/p/4245250.html


最近項目中用到了logback 記錄日誌,  關於爲啥使用logback 請百度一下:  logback與Log4J的區別

好了,廢話不多說,直奔主題, 研究了好久,終於將日誌按級別將日誌分文件打印出來了, 具體步驟如下:

 

1.  下載對於的JAR 包:

http://logback.qos.ch/

            logback-access-1.1.2.jar
            logback-classic-1.1.2.jar
            logback-core-1.1.2.jar

http://www.slf4j.org/

            slf4j-api-1.7.10.jar

 mvaven , 配置如下:

 

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>

 

 

 

2.   創建一個web project,     寫一個簡單的JAVA class  或者Servlet.

 

複製代碼
public  class    ILoveYou{

      private final  static Logger log = LoggerFactory.getLogger(ILoveYou.class);

     public static void main(String[]  arg){

    log.trace("==111111111=======trace ===================");

    log.debug("============22222===debug2222222====================");
    log.info("=====================33333333info333333333====================");
    log.warn(" =====================warn=444444444444===================");
    log.error(" =====================error====55555555555================");

     }

  }
複製代碼

 

4.  將第一步所下載的jar包導入,  並運行, 控制檯打印出如下信息

  ==111111111=======trace ===================
  ============22222===debug2222222====================
  =====================33333333info333333333====================
 =====================warn=444444444444===================
 =====================error====55555555555================

 

5.  建立日誌配置文件:  logback.xml  (或者logback-test.xml)

複製代碼
<?xml version="1.0" encoding="UTF-8"?>  
<configuration>  
    <!-- 定義log 文件的 home 目錄  -->
    <property name="LOG_HOME"  value="C:/Users/Administrator/Desktop/logs"></property>
 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
        <encoder>  
            <!-- %.-1level 只顯示信息級別的首字母,%-5level 左對齊顯示信息級別全稱 -->  
            
            <Pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] --%mdc{client} %msg%n</Pattern>  
        </encoder>  
    </appender>  
    
    <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8</encoding>
        <file>${LOG_HOME}/trace.log</file>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/trace.%d{yyyy-MM-dd}.log</FileNamePattern>  
        </rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n</pattern>  
        </layout> 
       <!--  <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>TRACE</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
           </filter>  --> 
    </appender>  
    
     <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8</encoding>
        <file>${LOG_HOME}/info.log</file>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/info.%d{yyyy-MM-dd}.log</FileNamePattern>  
        </rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n</pattern>  
        </layout>
        <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>INFO</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
           </filter>     
    </appender>  
    
      <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8</encoding>
        <file>${LOG_HOME}/debug.log</file>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/debug.%d{yyyy-MM-dd}.log</FileNamePattern>  
        </rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n</pattern>  
        </layout> 
         <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>DEBUG</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
           </filter>   
    </appender>  
    
    
     <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8</encoding>
        <file>${LOG_HOME}/warn.log</file>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/warn.%d{yyyy-MM-dd}.log</FileNamePattern>  
        </rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n</pattern>  
        </layout> 
         <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>WARN</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
           </filter>   
    </appender>  
    
    
    
     <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8</encoding>
        <file>${LOG_HOME}/error.log</file>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/error.%d{yyyy-MM-dd}.log</FileNamePattern>  
        </rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%n</pattern>  
        </layout> 
         <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>ERROR</level>  
            <onMatch>ACCEPT</onMatch>  
            <onMismatch>DENY</onMismatch>  
           </filter>   
    </appender>  
    
   <!--  <logger name="com.mchange" level="INFO"/>  
    <logger name="org.springframework" level="WARN"/>  
    <logger name="java.sql.Connection" level="DEBUG"/>  
    <logger name="java.sql.ResultSet" level="INFO"/>  
    <logger name="com.boaotech.util" level="DEBUG"/>  -->
     
    <root level="TRACE">  
        <appender-ref ref="STDOUT"/>  
        <appender-ref ref="TRACE_FILE" />
           <appender-ref ref="INFO_FILE" />  
          <appender-ref ref="DEBUG_FILE" />  
         <appender-ref ref="WARN_FILE" />  
          <appender-ref ref="ERROR_FILE" />    
    </root>  
    
</configuration>  
複製代碼

 

    

 

6.    將logback.xml 放置到web工程的classes目路下,運行項目,看你的桌面,是否有如下日誌文件:

分別記錄上面trace, info, debug, warn, error  的日誌。

 

日誌需要系統的學習一下,你到官網學習!


發佈了103 篇原創文章 · 獲贊 60 · 訪問量 70萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章