以前使用 log4j 时有条性能教条:
在使用 log 之前,使用 isXXXEnabled() 函数来判断日志等级以提高程序性能。
不记得在哪看到讲现在的 log4j 版本不需要使用 isXXXEnabled() 函数来改进性能了。现在也找不到出处,看了下 log4j 代码(version 1.2.15),如下:
public
boolean isDebugEnabled() {
if(repository.isDisabled( Level.DEBUG_INT))
return false;
return Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel());
}
public
void debug(Object message) {
if(repository.isDisabled(Level.DEBUG_INT))
return;
if(Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel())) {
forcedLog(FQCN, Level.DEBUG, message, null);
}
}
看来确实是不需要使用 isXXXEnabled() 函数来改进性能了。大家认为呢?
分享到:
- 2009-10-23 14:18
- 浏览 2950
- 评论(7)
- 论坛回复 / 浏览 (7 / 4881)
- 查看更多
相关推荐
log4j2 demo 性能测试 异步日志
log4j 2.3版本Jar包。...Log4j 2是log4j 1.x和logback的改进版,据说采用了一些新技术(无锁异步、等等),使得日志的吞吐量、性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活。
对Log4j2异步写日志的效率测试源码
log5j在log4j的基础上提供了几个改进,应该说是简单和实用的封装。有趣的是log5j主页对自己名字的解释,因为要感谢JDK 1.5,所以才叫了这个名字。
log4j功能强大,但是将日志写入数据库,感觉其性能相当差,究其原因是:log4j在每写一次日志的时候都建立和释放一个数据库连接,系统的性能消耗在频繁建立昂贵的连接上。本例简单的实现Log4j连接池,一起学习,...
简述了log4j的架构、用法及性能分析。
log4j-2.0版本是log4j的最新版本,跟1.x版本相比较多了很多新功能。同时在性能上有很大提高,在多线程环境下,异步日志系统比 Log4j 1.x 和Logback 提高了10倍性能提升。
Flume-ng在windows环境搭建并测试+log4j日志通过Flume输出到HDFS 11111
如果需要一个完整的日志解决方案并且对性能和资源占用不太敏感,Log4j 可能是一个不错的选择。如果更倾向于灵活性、可插拔性和现代应用集成,Slf4j 可能更为合适。无论选择哪个框架,都应确保正确配置并遵循最佳实践...
大部分人还在使用log4j 但是log4j2在性能上远远超过log4j 官网说吞吐量是1的10倍 特传文档
NULL 博文链接:https://xinlanzero.iteye.com/blog/729146
log4j2-kafka-appender 用于log4j2的Kafka附加程序。 此附加程序使用新的java kafka生产者api以获得更好的性能和吞吐量。 ## Build ./gradlew jar //生成jar ##行家< dependency> < groupId>...
Log2Window Log2Window是log4net,nlog,eventLog,log4j和log4cxx的日志消息查看器,具有极强的稳定性和非常好的性能。 它可以在一秒钟内处理数百万条日志消息。
C和C++的经典日志模块log4cxx和其开发示例源码,是apache log4j的C、C++移植类,性能强大,也是公司使用的首选。
SLF4J结合logback已经逐步替代了Log4j,带来了更好的性能和灵活性。
SLF4J库解决了在JVM上不同框架上抽象日志记录的问题,诸如Logback和Log4j 2之类的框架既灵活又强大。 在JVM上,Log4仅位于这些现有子系统的顶部。 Scala的宏和值类使Log4能够提供惯用的Scala外观,该外观不会增加...
可以灵活配置日志输出的格式,类似于log4j的pattern layout 纲目分类模型,比log4j系列的继承模型更加清晰 多种输出,包括动态文件、静态文件、stdout、stderr、syslog 可以在运行时动态刷新配置,只需要调用函数...