`
jin8000608172
  • 浏览: 136052 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring中使用logback日志组件替换log4j

阅读更多
logback比log4j的强大之处,请到logback的主页去看,我就不啰嗦了,你懂、或者不懂,logback就在那里,无比强大,傲视绝伦。
复制log4j-over-slf4j.jar,logback-classic.jar,logback-core.jar,jcl-over-slf4j.jar到lib目录,删除原有的log4j.jar。

创建一个新类
package com.boaotech.util;  
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;  
/** 
 * @author Kiven Lee 
 * @version 1.0 
 */  
public class LogbackConfigListener 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);  
        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) {  
    }  
} 


在web.xml中加入

<!--初始化日志配置文件 --> 
<listener>  
     <listener-class>  
         com.boaotech.util.LogbackConfigListener  
     </listener-class>  
 </listener>  
 <context-param>  
     <param-name>logbackConfigLocation</param-name>  
     <param-value>WEB-INF/logback.xml</param-value>  
 </context-param>  



最后,在WEB-INF下新建logback.xml配置,配置请参考logback帮助手册。
经过这样的配置后,应用中所有使用log4j,common-logger的jar,均可正常通过logback实现日志输出。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics