作用:通过对不同jar包的classpath配置实现日志表现的低耦合更换.
框架主页:
http://www.slf4j.org/manual.html
下载软件包:slf4j-1.5.5.zip
解压后可以看见如下jar文件:
========================================================
这9个jar含有源码文件,类似"*-sources.jar".
2008-10-17 17:58 21,796 slf4j-api-1.5.5.jar
2008-10-17 17:58 7,104 slf4j-jcl-1.5.5.jar
2008-10-17 17:58 8,787 slf4j-jdk14-1.5.5.jar
2008-10-17 17:58 9,648 slf4j-log4j12-1.5.5.jar
2008-10-17 17:58 5,249 slf4j-nop-1.5.5.jar
2008-10-17 17:58 7,550 slf4j-simple-1.5.5.jar
2008-10-17 17:58 29,487 slf4j-ext-1.5.5.jar
2008-10-17 17:58 16,746 jcl-over-slf4j-1.5.5.jar
2008-10-17 17:46 4,368 jul-to-slf4j-1.5.5.jar
========================================================
2008-10-17 17:46 9,665 log4j-over-slf4j-1.5.5.jar
2008-10-17 17:58 28,567 slf4j-migrator-1.5.5.jar
2008-10-17 17:49 2,025 integration-1.5.5.jar
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
不要怕,我们一个一个击破这些东东.
首先我们写一个使用的hello world 程序.
1.在classpath中导入"
slf4j-api-1.5.5.jar","
slf4j-simple-1.5.5.jar" 文件.
package com;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* slf4j Tester
* <span style="color:red"><b></b></span>
* <span style="color:green"><b></b></span>
* @author mike <br/>
*/
public class Slf4jTest {
final Logger logger = LoggerFactory.getLogger(Slf4jTest.class);
Integer t;
Integer oldT;
public void setTemperature(Integer temperature) {
oldT = t;
t = temperature;
logger.error(" Temperature set to {}. Old temperature was {}. ", t,
oldT);
if (temperature.intValue() > 23) {
logger.info(" Temperature has risen above 23 degrees. ");
}
if (temperature.intValue() < 0) {
logger.warn(" Temperature has below 0 degrees. ");
}
}
public static void main(String[] args) {
Sif4jTest wombat = new Sif4jTest();
wombat.setTemperature(1);
wombat.setTemperature(24);
wombat.setTemperature(-9);
}
}
运行结果:
引用
0 [main] ERROR com.Sif4jTest - Temperature set to 1. Old temperature was null.
0 [main] ERROR com.Sif4jTest - Temperature set to 24. Old temperature was 1.
0 [main] INFO com.Sif4jTest - Temperature has risen above 23 degrees.
0 [main] ERROR com.Sif4jTest - Temperature set to -9. Old temperature was 24.
0 [main] WARN com.Sif4jTest - Temperature has below 0 degrees.
2.替换"
slf4j-simple-1.5.5.jar" 为 "
slf4j-jdk14-1.5.5.jar".
再次运行:
引用
2008-11-14 11:24:24 com.Sif4jTest setTemperature
严重: Temperature set to 1. Old temperature was null.
2008-11-14 11:24:24 com.Sif4jTest setTemperature
严重: Temperature set to 24. Old temperature was 1.
2008-11-14 11:24:24 com.Sif4jTest setTemperature
信息: Temperature has risen above 23 degrees.
2008-11-14 11:24:24 com.Sif4jTest setTemperature
严重: Temperature set to -9. Old temperature was 24.
2008-11-14 11:24:24 com.Sif4jTest setTemperature
警告: Temperature has below 0 degrees.
3.替换"
slf4j-jdk14-1.5.5.jar"为"
slf4j-log4j12-1.5.5.jar"并加入"log4j-1.2.14.jar"和所需的"
log4j.properties"配置文件.
再次运行:
引用
2008-11-14 11:26:30 main ERROR com.Sif4jTest:[22]: Temperature set to 1. Old temperature was null.
2008-11-14 11:26:30 main ERROR com.Sif4jTest:[22]: Temperature set to 24. Old temperature was 1.
2008-11-14 11:26:30 main INFO com.Sif4jTest:[25]: Temperature has risen above 23 degrees.
2008-11-14 11:26:30 main ERROR com.Sif4jTest:[22]: Temperature set to -9. Old temperature was 24.
2008-11-14 11:26:30 main WARN com.Sif4jTest:[28]: Temperature has below 0 degrees.
哈哈,看见效果了吧?
个人总结:
根据classpath中放置的包的不同选择不同的日志表现形式,使效果的更改不影响代码.
详细使用和实现方式请查看官方网站说明.
分享到:
相关推荐
该压缩包中包含以下内容: 1、jcl-over-slf4j-1.7.21.jar 2、jcl-over-slf4j-1.7.21-sources.jar 3、jul-to-slf4j-1.7.21.jar 4、jul-to-slf4j-1.7.21-sources.jar 5、log4j-over-slf4j-1.7.21.jar 6、log4j-over-...
org.slf4j.ILoggerFactory.class org.slf4j.IMarkerFactory.class org.slf4j.Logger.class org.slf4j.LoggerFactory.class org.slf4j.MDC.class org.slf4j.Marker.class org.slf4j.MarkerFactory.class org.slf4j....
1、jcl-over-slf4j-1.7.21.jar 2、jcl-over-slf4j-1.7.21-sources.jar 3、jul-to-slf4j-1.7.21.jar 4、jul-to-slf4j-1.7.21-sources.jar 5、log4j-over-slf4j-1.7.21.jar 6、log4j-over-slf4j-1.7.21-sources....
该压缩包中包含以下内容: 1、jcl-over-slf4j-1.7.21.jar 2、jcl-over-slf4j-1.7.21-sources.jar 3、jul-to-slf4j-1.7.21.jar 4、jul-to-slf4j-1.7.21-sources.jar 5、log4j-over-slf4j-1.7.21.jar 6、log4j-over-...
log4j-1.2.17; slf4j-api-1.7.12; slf4j-log4j12-1.7.12; slf4j-api-1.7.25; slf4j-log4j12-1.7.25;
赠送jar包:log4j-to-slf4j-2.10.0.jar; 赠送原API文档:log4j-to-slf4j-2.10.0-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.10.0-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.10.0.pom; 包含翻译后...
赠送jar包:slf4j-log4j12-1.7.25.jar; 赠送原API文档:slf4j-log4j12-1.7.25-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.25-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.7.25.pom; 包含翻译后的API...
赠送jar包:log4j-slf4j-impl-2.12.1.jar; 赠送原API文档:log4j-slf4j-impl-2.12.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.12.1.pom; ...
赠送jar包:log4j-to-slf4j-2.12.1.jar; 赠送原API文档:log4j-to-slf4j-2.12.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.12.1.pom; 包含翻译后...
赠送jar包:slf4j-api-1.7.26.jar; 赠送原API文档:slf4j-api-1.7.26-javadoc.jar; 赠送源代码:slf4j-api-1.7.26-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.7.26.pom; 包含翻译后的API文档:slf4j-api-...
赠送jar包:slf4j-log4j12-1.6.1.jar; 赠送原API文档:slf4j-log4j12-1.6.1-javadoc.jar; 赠送源代码:slf4j-log4j12-1.6.1-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.6.1.pom; 包含翻译后的API文档...
开发工具 slf4j-api-1.7.22开发工具 slf4j-api-1.7.22开发工具 slf4j-api-1.7.22开发工具 slf4j-api-1.7.22开发工具 slf4j-api-1.7.22开发工具 slf4j-api-1.7.22开发工具 slf4j-api-1.7.22开发工具 slf4j-api-1.7.22...
赠送jar包:log4j-over-slf4j-1.7.33.jar; 赠送原API文档:log4j-over-slf4j-1.7.33-javadoc.jar; 赠送源代码:log4j-over-slf4j-1.7.33-sources.jar; 赠送Maven依赖信息文件:log4j-over-slf4j-1.7.33.pom; ...
赠送jar包:log4j-over-slf4j-1.7.33.jar; 赠送原API文档:log4j-over-slf4j-1.7.33-javadoc.jar; 赠送源代码:log4j-over-slf4j-1.7.33-sources.jar; 赠送Maven依赖信息文件:log4j-over-slf4j-1.7.33.pom; ...
slf4j-api和slf4j-nop打包下载,只需解压文件,就能得到slf4j-api.jar和slf4j-nop.jar
赠送jar包:log4j-slf4j-impl-2.12.1.jar; 赠送原API文档:log4j-slf4j-impl-2.12.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.12.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.12.1.pom; ...
赠送jar包:log4j-to-slf4j-2.17.1.jar; 赠送原API文档:log4j-to-slf4j-2.17.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.17.1.pom; 包含翻译后...
赠送jar包:log4j-slf4j-impl-2.17.1.jar; 赠送原API文档:log4j-slf4j-impl-2.17.1-javadoc.jar; 赠送源代码:log4j-slf4j-impl-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-slf4j-impl-2.17.1.pom; ...
赠送jar包:slf4j-api-1.6.6.jar; 赠送原API文档:slf4j-api-1.6.6-javadoc.jar; 赠送源代码:slf4j-api-1.6.6-sources.jar; 赠送Maven依赖信息文件:slf4j-api-1.6.6.pom; 包含翻译后的API文档:slf4j-api-...
赠送jar包:slf4j-log4j12-1.7.21.jar; 赠送原API文档:slf4j-log4j12-1.7.21-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.21-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.7.21.pom; 包含翻译后的API...