我们正在发展我们的企业Java EE基础架构,并正在考虑改变我们的日志记录平台 . 我们目前使用 slf4j 作为API,使用 log4j1 作为底层日志记录实现 .
由于我们不直接使用log4j的API,而是使用sf4j,所有这些都是配置更改的问题,已经完成了 .
我们对日志系统的使用非常基础,因此我们不需要像log4j2的高级过滤那样的功能 .
关于性能,根据docs,它似乎并没有很大的改进 .
那么,您认为我们应该将我们的应用程序从slf4j log4j1迁移到slf4j log4j2吗?为什么?您认为它提供了哪些优势?
2 回答
根据文档,异步 Logger 和追加器似乎可以极大地提高Log4J 2的性能:https://logging.apache.org/log4j/2.x/manual/async.html#Performance
此外:Log4J 1终止生命:https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces
从宣布:
所以,是的,我认为值得升级 .
就我的经验而言,Log4j2没有对Log4j进行重大升级 . 但是在Log4j上引发了一些Bug修复,现在已经进入了Log4j2 . 以下链接将提供有关此类修复的信息
https://issues.apache.org/bugzilla/show_bug.cgi?id=50213&action=View
由于您使用的是SLF4j,因此很容易迁移到Log4j2 - 不会有任何代码更改,只会更改库 .