logback替代log4j

使用的jar包:    janino.jar    logback-access-1.0.11.jar     logback-classic-1.0.11.jar     logback-core-1.0.11.jar   slf4j-api-1.7.5.jar

 

logback.xml配置文件:

 



 

 
 


 
  
   
   
    logger.contains("springframework")
   

   NEUTRAL
   DENY
  

  
  
   ${LOG_PATTERNControl}
  

 

 
 
  true
  

  
  
   ${LOG_HOME}logback.%d{yyyy-MM-dd}.log
   2
  

  
  
  
  
  
   ${LOG_PATTERNControl}
  

 

 
 
  
   ${LOG_HOME}logback_debug.%d{yyyy-MM-dd}.log
   2
  

  
   ${LOG_PATTERNControl}
  

 

 
 
 
  
   ${LOG_HOME}logback_error.%d{yyyy-MM-dd}.log
   2
  

  
   ${LOG_PATTERNControl}
  

 

 
 
 
    
 

 
 
    
 

 
 
  
  
 

  

 

web.xml中初始化 :

 
     logbackConfigLocation 
     WEB-INF/logback.xml 
 
  

 
     com.test.log.utils.InitLogbackUtil 
 
 

 

InitLogbackUtil源代码:

package com.test.log.utils; 
import java.io.File;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.joran.spi.JoranException;
public class InitLogbackUtil implements ServletContextListener { 
    private static final Logger logger = LoggerFactory.getLogger(LogbackConfigListener.class); 
    
    private static final String CONFIG_LOCATION = "logbackConfigLocation"; 
    @Override 
    public void contextInitialized(ServletContextEvent event) { 
        //从web.xml中加载指定文件名的日志配置文件  
        String logbackConfigLocation = event.getServletContext().getInitParameter(CONFIG_LOCATION); 
        String fn = event.getServletContext().getRealPath(logbackConfigLocation); 
        System.out.println(" prepared file destory ["+fn+"]");
        try { 
           LoggerContext loggerContext = (LoggerContext)LoggerFactory.getILoggerFactory(); 
           loggerContext.reset(); 
           JoranConfigurator joranConfigurator = new JoranConfigurator(); 
           joranConfigurator.setContext(loggerContext); 
           joranConfigurator.doConfigure(fn); 
           logger.debug("loaded slf4j configure file from {}", fn); 
        } 
        catch (JoranException e) { 
            logger.error("can loading slf4j configure file from " + fn, e); 
        } 
    } 
    @Override 
    public void contextDestroyed(ServletContextEvent event) {
    } 
}

 

你可能感兴趣的:(日志文件)