slf4j使用方法

阅读更多
作用:通过对不同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
 * 
 * 
 * @author mike 
*/ 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中放置的包的不同选择不同的日志表现形式,使效果的更改不影响代码.
详细使用和实现方式请查看官方网站说明.

你可能感兴趣的:(框架,EXT,log4j,slf4j)