`
zhaomingzm_23
  • 浏览: 33534 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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
 * <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中放置的包的不同选择不同的日志表现形式,使效果的更改不影响代码.
详细使用和实现方式请查看官方网站说明.
分享到:
评论

相关推荐

    SLF4j中文使用手册

    SLF4J中文使用手册详细地介绍了SLF4J的使用方法、版本更新以及与其他日志框架的集成方式。手册中提到的slf4j-api-1.7.19.jar是一个必须包含在类路径中的依赖库,以支持SLF4J运行。从1.6.0版本开始,如果SLF4J在类...

    log4j + slf4j-api + slf4j-log4j12

    slf4j-log4j12-1.7.x版本是SLF4J针对Log4j 1.2版本的绑定器,它使得应用可以使用SLF4J接口,但实际的日志输出通过Log4j进行。这个桥接器让项目能利用SLF4J的灵活性,同时使用Log4j的成熟实现。 在提供的文件名列表...

    slf4j-1.7.21所有相关jar包

    该压缩包中包含以下内容: 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 jar包

    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....

    slf4j-api.jar和slf4j-nop.jar打包下载

    在某些场景下,比如测试环境中,你可能希望避免日志带来的额外开销,此时使用slf4j-nop.jar就非常合适。 标签"slf4j"直接指出了这个压缩包的主题,它是与SLF4J相关的资源。 压缩包内的文件名称列表中,"slf4j-api-...

    最新slf4j-1.7.21.zip源码和jar包

    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....

    slf4j-log4j12-1.7.12.jar、slf4j-api-1.7.12.jar

    "slf4j-api-1.7.12.jar"则是SLF4J的核心API库,包含了所有SLF4J的日志记录方法和接口,但不包含任何实际的日志实现。 在Java项目中,通常需要同时包含这两个JAR文件:slf4j-api-1.7.12.jar(提供接口)和slf4j-log4...

    Log4j2结合Slf4j配置使用

    Log4j2 结合 Slf4j 配置使用 Log4j2 是一个功能强大且广泛使用的日志记录工具,它提供了灵活的日志记录机制和高性能的日志记录能力。Slf4j 则是一个简单的日志记录门面,提供了统一的日志记录接口。今天,我们将...

    最新slf4j-1.7.25.zip源码和jar包

    该压缩包中包含以下内容: 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-api-1.7.12.jar slf4j-log4j12-1.7.12.jar

    然而,要注意的是,使用SLF4J时,你需要避免类路径中的“类装载器争抢”问题,即多个SLF4J绑定同时存在的情况,这会导致警告信息。为了避免这种情况,你需要确保项目中只包含一个SLF4J的绑定实现。 在实际应用中,...

    Java Slf4j依赖包

    2. `slf4j-jdk14-1.5.6.jar`:这是一个适配器模块,它使得Slf4j可以使用Java内置的日志系统(java.util.logging)作为其后台日志框架。如果你的应用环境中已经使用了Java内置的日志,那么这个适配器可以让Slf4j无缝...

    slf4j最新jar包下载和jar包

    在描述中提到的"lombok.extern.slf4j.Slf4j注解错误",这可能是指在使用Lombok和SLF4J时遇到的一些问题,例如缺少对应的依赖、配置错误或者版本不兼容。为了解决这些问题,通常需要检查以下几点: 1. 确保项目中已...

    log4j-to-slf4j-2.17.1-API文档-中文版.zip

    赠送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; 包含翻译后...

    slf4j-api-1.7.26.zip

    描述中提到的"slf4j-api-1.7.26.jar"是SLF4J API的核心库,它包含所有开发者需要使用的接口和类,例如`org.slf4j.Logger`和`org.slf4j.LoggerFactory`。`Logger`接口提供了不同级别的日志记录方法,如`trace()`, `...

    slf4j-api-1.7.7,slf4j-log4j12-1.7.7

    SLF4J(Simple Logging Facade for Java)是Java中一个重要的日志接口框架,它为各种日志实现提供了一个抽象层,使得开发者能够在运行时动态地选择具体使用的日志实现,例如Log4j、Java Util Logging (JUL)、Logback...

    log4j-over-slf4j-1.7.33-API文档-中文版.zip

    赠送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所需要的所有jar文件集合

    例如,`org.slf4j.Logger`和`org.slf4j.LoggerFactory`是SLF4J中最常用的类,它们提供了各种日志级别(TRACE、DEBUG、INFO、WARN、ERROR、FATAL)的记录方法。 2. **slf4j.jar**:这个文件可能是一个通用的引用,...

    slf4j-api-1.6.1-slf4j-nop-1.6.1.rar

    2. **Logger**: SLF4J的核心接口是`org.slf4j.Logger`,它提供了各种级别的日志记录方法,如`trace()`, `debug()`, `info()`, `warn()`, `error()`和`fatal()`。 3. **日志级别**: 这些方法对应不同的日志级别,用于...

    slf4j-api-1.7.25

    在使用`slf4j-api-1.7.25`时,开发者应仔细阅读这个文件以了解如何正确集成到项目中,以及如何避免常见的问题,如“NoBindingException”,这通常是由于缺少适当的日志框架绑定导致的。 使用SLF4J的好处在于,它...

Global site tag (gtag.js) - Google Analytics