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

使用 SLF4J 代替 Log4J

阅读更多

Log4J 一直是我们首选的日志框架,但其一直有个不便之处。当记录 DEBUG 日志时,我们常用以下语句:

 

if (LOG.isDebugEnabled()) {
  LOG.debug("...");
}

在这里,if 是个很恼人的判断语句。如果我们去掉 if,那便会导致不必要的日志消息渲染。这所导致的性能损耗并不是可以完全忽略不计的,某些情况下还有可能导致严重的性能问题。但如果我们留着 if,这又会污染我们的代码,使得其不再干净整洁。而且,当使用 PMD 等代码质量检查工具时,这样的 if 会使代码的圈复杂度变高。

 

当使用 SLF4J 时,如此问题便不会再骚扰我们。

 

LOG.debug("...{}...", param1, param2);
LOG.debug("...{}...{}", param1, param2);
LOG.debug("...{}...{}...{}", new Object[]{p1, p2, p3});

因为 SLF4J 使用类似于 java.text.MessageFormat 的字符串渲染方式,我们不必在使用 if 来判断是什么日记级别了。

 

PS. SLF4J 在 ServiceMix 中工作良好。

 

 

1
1
分享到:
评论
2 楼 SSailYang 2011-10-22  
JetMah 写道
SLF4j还不能做到不需要判断isDebugEnabled(),它只是一个统一的接口,真正实现的还是log4j,你可以使用logback。

SLF4J会先调用isDebugEnabled,然后在调用debug
1 楼 JetMah 2011-10-22  
SLF4j还不能做到不需要判断isDebugEnabled(),它只是一个统一的接口,真正实现的还是log4j,你可以使用logback。

相关推荐

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

    log4j + slf4j-api + slf4j-log4j12

    log4j-1.2.17; slf4j-api-1.7.12; slf4j-log4j12-1.7.12; slf4j-api-1.7.25; slf4j-log4j12-1.7.25;

    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 等jar包.rar

    slf4j-log4j12 等jar包,dbunit新版本所需要的的依赖包可以通过此链接下载,主要包括slf4j-log4j的jar包和源码。

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

    slf4j-log4j12-1.6.1.jar slf4j-log4j

    slf4j-log4j12-1.6.1.jar slf4j-log4j

    slf4j-log4j12-1.7.7.jar下载

    slf4j-log4j12-1.7.7.jarslf4j-log4j12-1.7.7.jarslf4j-log4j12-1.7.7.jarslf4j-log4j12-1.7.7.jar

    slf4j-log4j12-1.7.25

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

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

    赠送jar包:slf4j-log4j12-1.7.12.jar; 赠送原API文档:slf4j-log4j12-1.7.12-javadoc.jar; 赠送源代码:slf4j-log4j12-1.7.12-sources.jar; 包含翻译后的API文档:slf4j-log4j12-1.7.12-javadoc-API文档-中文...

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

    slf4j-log4j12-1.7.33.jar

    slf4j-log4j12-1.7.33.jar

    slf4j-log4j12-1.6.6-API文档-中英对照版.zip

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

    slf4j-log4j12-1.7.2.jar.zip

    slf4j-log4j12-1.7.2.jar.zip,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过...

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

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

    slf4j-log4j12-1.8.0-alpha2-API文档-中文版.zip

    赠送jar包:slf4j-log4j12-1.8.0-alpha2.jar; 赠送原API文档:slf4j-log4j12-1.8.0-alpha2-javadoc.jar; 赠送源代码:slf4j-log4j12-1.8.0-alpha2-sources.jar; 赠送Maven依赖信息文件:slf4j-log4j12-1.8.0-...

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

    压缩包包含slf4j-log4j12-1.7.12.jar和slf4j-api-1.7.12.jar

    开发工具 slf4j-log4j12-1.7.22

    开发工具 slf4j-log4j12-1.7.22开发工具 slf4j-log4j12-1.7.22开发工具 slf4j-log4j12-1.7.22开发工具 slf4j-log4j12-1.7.22开发工具 slf4j-log4j12-1.7.22开发工具 slf4j-log4j12-1.7.22开发工具 slf4j-log4j12-...

    slf4j-log4j12-1.7.7.jar

    slf4j-log4j12-1.7.7.jar

Global site tag (gtag.js) - Google Analytics