slf4j使用方法

作用:通过对不同jar包的classpath配置实现日志表现的低耦合更换.

框架主页:[url]http://www.slf4j.org/manual.html[/url]

下载软件包: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中导入"[color=green]slf4j-api-1.5.5.jar[/color]","[color=green]slf4j-simple-1.5.5.jar[/color]" 文件.

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);
}
}



运行结果:
[quote]
[color=red]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. [/color]
[/quote]

2.替换"[color=green]slf4j-simple-1.5.5.jar[/color]" 为 "[color=red]slf4j-jdk14-1.5.5.jar[/color]".
再次运行:
[quote][color=red]
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.
[/color][/quote]

3.替换"[color=green]slf4j-jdk14-1.5.5.jar[/color]"为"[color=red]slf4j-log4j12-1.5.5.jar[/color]"并加入"log4j-1.2.14.jar"和所需的"[color=red]log4j.properties[/color]"配置文件.

再次运行:
[quote]
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.
[/quote]

哈哈,看见效果了吧?

个人总结:[color=blue]根据classpath中放置的包的不同选择不同的日志表现形式,使效果的更改不影响代码.[/color]
[color=red]详细使用和实现方式请查看官方网站说明.[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值