博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring中使用logback日志组件替换log4j
阅读量:6263 次
发布时间:2019-06-22

本文共 2096 字,大约阅读时间需要 6 分钟。

hot3.png

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中加入

com.boaotech.util.LogbackConfigListener
logbackConfigLocation
WEB-INF/logback.xml

最后,在WEB-INF下新建logback.xml配置,配置请参考logback帮助手册。

经过这样的配置后,应用中所有使用log4j,common-logger的jar,均可正常通过logback实现日志输出。

转载于:https://my.oschina.net/kkrgwbj/blog/733103

你可能感兴趣的文章
matlab练习程序(差异演化DE)
查看>>
这就是搜索引擎:核心技术详解
查看>>
加解密技术处理时间对比
查看>>
g++命令行详解 (转)
查看>>
Ubuntu菜鸟入门(九)—— 支付宝支付控件安装
查看>>
什么是 SRS 呢?在我们大部分的音频播放器里都内欠有这种音效。
查看>>
对/etc/rc.d/init.d目录的一点理解(转)
查看>>
c#使用params重载方法
查看>>
浅析C# 中object sender与EventArgs e
查看>>
遇到Audio/Speech相关问题,如何抓取log
查看>>
数学之路(3)-机器学习(4)-专家系统(1)
查看>>
Android中常用单位dp,px,sp之间的相互转换
查看>>
C++线性方程求解
查看>>
nginx负载均衡的实现
查看>>
Oracle PL/SQL之LOOP循环控制语句
查看>>
Webkit内核的浏览器中用CSS3+jQuery实现iphone滑动解锁效果(译)
查看>>
Can't create handler inside thread that has not called Looper.prepare()
查看>>
MDaemon运行六年方法
查看>>
SQL SERVER 存储过程应用
查看>>
Locale ID (LCID) Chart 区域设置ID
查看>>