sf4j-log4j日志系统搭建
1 驱动和桥接
log4j是一个日志系统,提供了具体的实现
slf4j是一个日志系统的封装,对外提供统一的API,不提供实现,类似于jdbc。使用slf4j需要下载
slf4j-api-x.x.x.jar它提供对外一致的API接口,其本身不提供日志实现。
假设我们选择log4j作为我们的日志实现,需要下载
log4j-x.x.x.jar
如果想把slf4j绑定log4j,则需要下载slf4j对log4j的相应”驱动”。
slf4j-log4j12-x.x.x.jar
这样就可以使用slf4j提供的API,用log4j实现打日志了。
所谓驱动,就是实现了slf4j的一些接口,用你喜欢的日志系统打日志。
slf4j还支持好多日志系统,并提供了相应的“驱动”包
配置sf4j+log4j日志系统
1 新建java project项目
2 准备jar文件
log4j-1.2.17.jarslf4j-api-1.7.21.jarslf4j-log4j12-1.7.9.jar
下载请点击这里
3 新建log4j.properties文件
- log4j默认配置文件为classpath下的log4j.properties,即src文件夹下
- 也可以新建在project根目录下,在使用前通过下面的代码配置
PropertyConfigurator.configure("log4j.properties");
log4j.rootLogger=info, ServerDailyRollingFile, stdout
#file output
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
#console output
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 新建测试类
package test;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.slf4j.LoggerFactory;
public class Test {
public static void main(String[] args) {
//如果log4j.properties放在src文件夹下,则不用下面这句话
PropertyConfigurator.configure("log4j.properties");
Logger logger = Logger.getLogger(Test.class);
logger.info("info");
logger.error("error");
logger.warn("warnning");
logger.trace("trace");
org.slf4j.Logger logger2 = LoggerFactory.getLogger(Test.class);
logger2.info("debugenabled?"+ logger2.isDebugEnabled());
logger2.debug("debug");
logger2.warn("warn");
}
}
5 输出结果是
- console控制台输出
2016-10-13 16:42:43 INFO [test.Test] info
2016-10-13 16:42:43 ERROR [test.Test] error
2016-10-13 16:42:43 WARN [test.Test] warnning
2016-10-13 16:42:43 INFO [test.Test] debugenabled?false
2016-10-13 16:42:43 WARN [test.Test] warn
- 文件输出
日志文件在logs文件夹下的notify-subscription.log文件中
本文介绍如何在Java项目中集成SLF4J与Log4J进行日志记录。首先概述了SLF4J与Log4J的功能区别,接着详细说明了所需JAR文件的准备过程、配置文件log4j.properties的创建方法及测试类的编写步骤。
3880

被折叠的 条评论
为什么被折叠?



