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 , 配置如下:

 


ch.qos.logback
logback-classic
1.1.3


ch.qos.logback
logback-access
1.1.3


ch.qos.logback
logback-core
1.1.3


org.slf4j
slf4j-api
1.7.12

 

 

 

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>  
    
    <property name="LOG_HOME"  value="C:/Users/Administrator/Desktop/logs">property>
 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
        <encoder>  
              
            
            <Pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] --%mdc{client} %msg%nPattern>  
        encoder>  
    appender>  
    
    <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8encoding>
        <file>${LOG_HOME}/trace.logfile>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/trace.%d{yyyy-MM-dd}.logFileNamePattern>  
        rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%npattern>  
        layout> 
        
    appender>  
    
     <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8encoding>
        <file>${LOG_HOME}/info.logfile>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/info.%d{yyyy-MM-dd}.logFileNamePattern>  
        rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%npattern>  
        layout>
        <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>INFOlevel>  
            <onMatch>ACCEPTonMatch>  
            <onMismatch>DENYonMismatch>  
           filter>     
    appender>  
    
      <appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8encoding>
        <file>${LOG_HOME}/debug.logfile>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/debug.%d{yyyy-MM-dd}.logFileNamePattern>  
        rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%npattern>  
        layout> 
         <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>DEBUGlevel>  
            <onMatch>ACCEPTonMatch>  
            <onMismatch>DENYonMismatch>  
           filter>   
    appender>  
    
    
     <appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8encoding>
        <file>${LOG_HOME}/warn.logfile>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/warn.%d{yyyy-MM-dd}.logFileNamePattern>  
        rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%npattern>  
        layout> 
         <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>WARNlevel>  
            <onMatch>ACCEPTonMatch>  
            <onMismatch>DENYonMismatch>  
           filter>   
    appender>  
    
    
    
     <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <encoding>UTF-8encoding>
        <file>${LOG_HOME}/error.logfile>  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
            <FileNamePattern>logs/error.%d{yyyy-MM-dd}.logFileNamePattern>  
        rollingPolicy>  
        <layout>  
            <pattern>[%date{yyyy-MM-dd HH:mm:ss}] [%-5level] [%logger:%line] --%mdc{client} %msg%npattern>  
        layout> 
         <filter class="ch.qos.logback.classic.filter.LevelFilter"> 
            <level>ERRORlevel>  
            <onMatch>ACCEPTonMatch>  
            <onMismatch>DENYonMismatch>  
           filter>   
    appender>  
    
   
     
    <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目路下,运行项目,看你的桌面,是否有如下日志文件:

Logback 将日志分级别打印_第1张图片

分别记录上面trace, info, debug, warn, error  的日志。

 

日志需要系统的学习一下,你到官网学习!


你可能感兴趣的:(log管理)