上周组会,提到了Log4j的替换工作。
同事提了一句,log2j是多线程,Log4j是单线程,所以前者是后者的替代。
这个解释是完全不对的,但是自己根本还没有亲自己动手搭建过这样的程序,更何况测试它们的性能,还有所谓性能出问题的地方。
但是这里进行了相关资料的查询,后续可以作为应用时的参考。
1、命名错误
不存在Log2j,否则这个定义倒是退步了。
而是log4j,现在新版本是log4j2
2、应用方法
网上有详细的好帖子对方法进行了快速通俗的讲述,推荐参考。
https://blog.csdn.net/fangaohua200/article/details/53561718
3、性能区别原因
log4j2的异步模式表现了绝对的性能优势,优势主要得益于Disruptor框架的使用。一个无锁的线程间通信库代替了原来的队列。
这句话才是核心,多线程这么老的技术,如果还是系统瓶颈的话,apache也太废物了不是。
性能测试的示例:
https://my.oschina.net/OutOfMemory/blog/789267
https://www.jianshu.com/p/483a9cf61c36
Log4j与Log4j2
最新推荐文章于 2024-05-09 08:30:00 发布