我们正在发展我们的企业Java EE基础架构,并正在考虑改变我们的日志记录平台。我们目前使用 slf4j 作为API, log4j1 作为基础日志记录实施。
由于我们不直接使用log4j的API,而是使用sf4j,所有这些都是配置更改的问题,已经完成了。
我们对日志系统的使用非常基础,因此我们不需要像log4j2的高级过滤那样的功能。
关于绩效,根据docs,它似乎并没有太大的改进。
那么,您认为我们应该将我们的应用程序从slf4j + log4j1迁移到slf4j + log4j2吗?为什么?你认为它有什么优势?
答案 0 :(得分:2)
根据文档,异步记录器和追加器似乎可以极大地提高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
宣布:
Apache Log4j 2具有完全重写的框架。此外, 它更快,更可靠,更易于开发和维护。
所以,是的,我认为值得升级。
答案 1 :(得分:0)
就我的实验而言,Log4j2没有对Log4j进行重大升级。但是在Log4j上引发了一些Bug修复,现在已经进入了Log4j2。 以下链接将提供有关此类修复的信息
https://issues.apache.org/bugzilla/show_bug.cgi?id=50213&action=View
由于您使用的是SLF4j,因此很容易迁移到Log4j2 - 不会有任何代码更改,只会更改库。