关于slf4j的理解:我觉得slf4j相当于把log4、jdk、simple等日志技术都封装好了,把它们实现的格式都统一了,只要按着slf4j的格式去写日志,具体的日志技术你可以自己选择,只要你导入相应的日志技术的jar包。
比如说:我现在要对一个项目使用jdk日志。
那么我就需要对那个项目导入两个jar包:
slf4j-api-1.6.1.jar
slf4j-jdk14-1.6.1.jar
------------------------------------项目代码----------------------
1 package cn.jamkong.sjf4j; 2 3 import org.slf4j.Logger; 4 import org.slf4j.LoggerFactory; 5 6 public class Demo1 { 7 public static void main(String[] args) { 8 Logger log = LoggerFactory.getLogger(Demo1.class); 9 log.info("log.info(...)");10 }11 }
直接运行,查看控制台的输出情况:
--------------------------------------------------------
九月 19, 2015 3:39:18 下午 cn.jamkong.sjf4j.Demo1 main
信息: log.info(...)---------------------------------------------------------
如果我现在需要把项目的jdk日志改成log4j日志的话,那我只需要把 slf4j-jdk14-1.6.1.jar 该成 slf4j-log4j12-1.6.1.jar ,再加上一个log4j的jar包和配置文件。
如:
导入的包:
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
log4j-1.2.12.jar
log4j.properties
------------------------------------项目代码(同上,不变)----------------------
直接运行,查看控制台输出:
——————————————————————————————
2015-09-19 15:43:47 INFO Demo1:9 - log.info(...)
——————————————————————————————
附:
———————log4j.properties 文件内容如下:———————————————————
# Root logger option
log4j.rootLogger=INFO, stdout# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n——————————————————————————————————————————