浅谈log4j、slf4j日志框架集成应用

(一)简单阐述

简单的说明一下,日志框架log4j、slf4j的关系。slf4j就好比是一个interface接口,它并不具体进行日志的存储。log4j就好像是一个实现类。两者之间通过slf4j-log4j进行搭桥关联。

(二)搭配好处

1):如果项目使用了多套日志框架,在代码层面要关心使用每一个日志框架的构建,如:log4j使用的是Logger.getLogger(LogTest.class);  而Common-logging  使用的是Log logger = LogFactory.getLog(LogTest.class)。这样子开发起来比较烦索。

2):项目期间更换日志框架的话,只要更新配置文件就可以。

3、我的配置:

1):引入jar包

或者使用Maven的dependency

2):在代码层使用

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory;
********
Logger logger = LoggerFactory.getLogger(MgisInitListener.class);

3):添加log4j.properties

log4j.rootLogger=INFO,Console,File

log4j.logger.com.mgis.common=DEBUG
log4j.logger.org.springframework=WARN

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n

log4j.appender.File=org.apache.log4j.RollingFileAppender
************

详细的log4j配置可参考以下网址:

http://www.cnblogs.com/ITtangtang/p/3926665.html
http://www.cnblogs.com/shanheyongmu/p/5650864.html

4):关于日志打印重复的问题修复。

第一种方式:添加log4j.additivity.com.****=false,这样子就不会重复了。

第二种方式:log4j.logger.com.****=,XXX    此时XXX不要使用与父类相同的appender即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,023评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,080评论 1 13
  • Log4J的三个组件: Logger:日志记录器,负责收集处理日志记录(如何处理日志) Appender:日志输出...
    谁踩过枯枝轻响阅读 559评论 0 2
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 3,324评论 0 0
  • 不知道为什么很想努力却无能为力,好羡慕有意志力的人啊!对于别人坚持似乎很容易,稍微努力就行。但是对于我来说却难...
    文_9295阅读 87评论 0 0