分享

slf4j结合log4j配置日志系统

 集微笔记 2016-09-05

首先这两个都是日志系统

只不过slf4j是一个简单的门面日志系统简单的来说就是提供了一些列日志接口没有具体的实现类似于jdbc但是比jdbc简单因为

它不需要加载驱动只需要加入其特定的包即可。而log4j自己单独就可以是一个完整的日志系统它提供了自己的实现而不是简单

提供日志接口。下面说说二者的整合。

1、新建一个Java project

2、引入log4j-1.2.15.jar,slf4j-api-1.5.6.jar,slf4j-log4j12-1.5.6.jar三个包 版本不限

3、在项目的根目录下新建log4j.properties内容如下

log4j.rootLogger=info, ServerDailyRollingFile, stdout

log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender 

log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd 

log4j.appender.ServerDailyRollingFile.File=logs/notify-subscription.log 

log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout 

log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n 

log4j.appender.ServerDailyRollingFile.Append=true

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 

log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} %p [%c] %m%n

4、新建测试类

public class TestSlf4j {

public static void main(String[] args) {

PropertyConfigurator.configure("log4j.properties");

Logger logger = Logger.getLogger(TestSlf4j.class);

logger.info("yes");

org.slf4j.Logger logger2 = LoggerFactory.getLogger(TestSlf4j.class);

logger2.info("yes");

logger2.debug("hello");

logger2.warn("hello");

}

}

输出结果是

2014-12-09 11:20:53 INFO [com.iss.slf4j.TestSlf4j] yes

2014-12-09 11:20:53 INFO [com.iss.slf4j.TestSlf4j] yes

2014-12-09 11:20:53 WARN [com.iss.slf4j.TestSlf4j] hello

相信可能在疑问既然log4j已经可以单独作为一个日志系统为什么还需要slf4j呢?

看完下面这篇文章 也许你的疑惑就解开了 http://www./7450.html#comment-204549

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多