關於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.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
——————————————————————————————————————————