`
SSailYang
  • 浏览: 312687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SLF4J 与 Log4J,以及何时使用 isDebugEnabled 判断

 
阅读更多

之前一篇关于 SLF4J 和 Log4J 的文章有不当之处,SLF4J 虽然避免了 Log4J 的字符串拼接问题,但是除非复杂的字符串拼接,否则使用 SLF4J 不会给你带来任何性能上的好处(我写了个小程序,有数据才有说服力)。当然 SLF4J + Logback 另当别论。使用 SLF4J 的主要目的是替代 Apache Common Logging,后者在 OSGi 环境中会有问题(从另一篇博文中看到的,仅供参考)。使用 SLF4J 能使代码和具体的 Log 实现框架分离,这点是与 Apache Common Logging 的功能相同的。

 

对于何时使用 Log4J 的 isDebugEnabled 的问题,过去我的做法是在任何调用了 debug 方法的地方之前都加了 isDebugEnabled 的判断。但其实通常情况下这是多余的。isDebugEnabled 的目的是为了避免组装日志消息多带来的不必要的性能损耗。但多数日志消息都是很简单的,其字符串拼接的性能损耗是忽略不计的。所以除非是你所要组装的日志消息会有重量级的操作,否则是不用加 isDebugEnabled 检查的。

分享到:
评论

相关推荐

    log4j + slf4j-api + slf4j-log4j12

    **slf4j-log4j12**:这是SLF4J的绑定器,用于将SLF4J API与Log4j框架连接起来。slf4j-log4j12-1.7.x版本是SLF4J针对Log4j 1.2版本的绑定器,它使得应用可以使用SLF4J接口,但实际的日志输出通过Log4j进行。这个桥接...

    slf4j-log4j12-1.7.25-API文档-中文版.zip

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

    slf4j-log4j12-1.7.7.jar下载

    在使用SLF4J和Log4j12时,你需要注意的一点是,由于Log4j1.2相比Log4j2在某些方面可能较旧,例如性能和功能更新,因此在新项目中,你可能会考虑使用更新的SLF4J绑定器,如slf4j-log4j2,以便利用Log4j2的改进特性。...

    slf4j-log4j12-1.6.1-API文档-中文版.zip

    赠送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-log4j12-1.7.21-API文档-中文版.zip

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

    slf4j-log4j12 等jar包.rar

    这个"slf4j-log4j12.jar"文件就是SLF4J与Log4j 1.2桥接器的实现,它使得SLF4J调用能够被Log4j 1.2的日志系统捕获并处理。 1. **SLF4J**:SLF4J的设计目标是为各种日志API提供一个简单统一的接口,这样应用程序就...

    slf4j-log4j12-1.5.6.jar

    `slf4j-log4j12-1.5.6.jar` 是 SLF4J 与 Log4j 1.2 版本之间的桥接器。这个 JAR 文件包含了 SLF4J API 和 Log4j 的适配器,使得 SLF4J 日志调用能够通过此桥接器被转发到 Log4j 进行处理。`1.5.6` 是这个版本的编号...

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

    标题中的"slf4j-log4j12-1.7.12.jar"是SLF4J的一个绑定包,它的作用是将SLF4J API与log4j日志框架连接起来。具体来说,这个版本(1.7.12)的绑定包实现了SLF4J的API,并将其桥接到log4j的实现上,使得开发者可以通过...

    slf4j-log4j12-1.7.2.jar 亲测可用

    `slf4j-log4j12-1.7.2.jar` 是SLF4J的一个绑定包,它的作用是将SLF4J接口与Log4j 1.2实现进行绑定。这个版本号`1.7.2`表示这是SLF4J的一个稳定版本,发布于2012年,包含了对Log4j 1.2的支持和一些错误修复。 在Java...

    slf4j-log4j12-1.5.5.jar、slf4j-log4j12-1.5.6.jar、slf4j-api-1.5.6.jar

    SLF4J-log4j12桥接库则是连接SLF4J接口与Log4j实现的桥梁,使得开发者可以使用SLF4J的API,同时利用Log4j进行日志记录。 SLF4J-api-1.5.6.jar是SLF4J API的实现,它包含了一系列的日志记录接口,如`Logger`, `Level...

    slf4j-log4j12-1.0.jar

    slf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4j12-1.0.jarslf4j-log4...

    slf4j-log4j12-1.6.6.jar

    SLF4J(Simple Logging Facade for Java)与Log4j12的集成包`slf4j-log4j12-1.6.6.jar`是Java开发中常用的日志处理工具,它允许开发者使用SLF4J的API,同时实现在运行时绑定到Log4j 1.2框架。这个版本的jar包包含了`...

    slf4j与Log4j集成

    集成SLF4J和Log4j后,你可以享受到SLF4J的简洁API以及Log4j的强大功能。同时,由于SLF4J的抽象特性,如果未来需要更换日志实现,只需要替换对应的桥接模块即可,无需修改代码,极大地提高了项目的可维护性。 注意,...

    log4j-1.2.16.jar、slf4j-api-1.6.1.jar、slf4j-log4j12-1.6.1.jar资源包

    `log4j`、`SLF4J`(Simple Logging Facade for Java)以及`SLF4J-Log4j`适配器是Java日志框架中的关键组件,它们在本篇中将被详细探讨。 首先,我们来了解`log4j-1.2.16.jar`。`log4j`是由Apache软件基金会开发的一...

    slf4j-log4j12-1.7.25

    slf4j-log4j12-1.7.25,下载直接jar包,测试可用。

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    **SLF4J与Log4j的结合使用** 1. **引入依赖**:首先,你需要在项目中引入SLF4J和Log4j的依赖。对于Maven项目,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.slf4j <artifactId>slf4j-api <version>...

    slf4j+log4j

    3. SLF4J与Log4j结合使用: 要在项目中使用SLF4J和Log4j,首先需要引入相关的jar包。SLF4J提供了API接口,而Log4j提供了实际的日志打印功能。通常,项目会包含`slf4j-api.jar`(SLF4J API)和`log4j.jar`(Log4j...

    slf4j-log4j12-1.5.2.rar

    SLF4J提供了多个绑定,其中slf4j-log4j12就是将SLF4J接口绑定到Log4j实现的一个模块,使得开发者可以通过SLF4J的API来使用Log4j的功能。 描述中的“slf4j-log4j12-1.5.2.jar”说明了这是一个JAR文件,这是Java的可...

    使用Slf4j集成Log4j2构建项目日志系统的完美解决方案.docx

    使用Slf4j集成Log4j2构建项目日志系统的完美解决方案 Slf4j是简单的日志外观(Facade)模式,它提供了统一的日志接口,使得用户可以选择不同的日志实现。Slf4j的出现使得日志系统的开发变得更加灵活和便捷。Log4j2...

    slf4j-log4j12-1.7.16-API文档-中文版.zip

    赠送jar包:slf4j-log4j12-1.7.16.jar; 赠送原API文档:slf4j-log4j12-1.7.16-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.16-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.7.16.pom; 包含翻译后的API...

Global site tag (gtag.js) - Google Analytics