3

嗨,我遇到了一些使用 log4j 的代码。我想搬到 log4j2。从http://logging.apache.org/log4j/2.x/manual/migration.html我得知 log4j-1.2-api.jar 可以使用。我有以下问题:

  1. 在代码中,我有一个自定义附加程序(如该链接中给出的,我不应该使用 Appender 类的内部)是不是意味着我不能使用 log4j-1.2-api.jar ?

  2. 我还想使用 log4j2 的异步日志记录功能。如何使用 log4j-1.2-api.jar 做到这一点。

4

2 回答 2

5
  1. 您的自定义附加程序可能不再起作用。Log4j2 有很多功能,根据您的自定义 appender 所做的,可能是 log4j2 中已经存在此功能。您可以在其中一个邮件列表上询问,如果它是对许多用户有用的功能,则可以将其添加到 log4j2。
  2. 要使用异步记录器,您可以使用系统属性(http://logging.apache.org/log4j/2.x/manual/async.html#AllAsync)使所有记录器异步,或者将同步和异步记录器与配置混合使用(http://logging.apache.org/log4j/2.x/manual/async.html#MixedSync-Async)。当您放入 log4j-1.2-api jar 时,两者都应该工作(除了 log4j-api 和 log4j-core jar,这两个 jar 总是需要的)。
于 2013-09-04T00:29:21.610 回答
3

有一个迁移指南。我成功地使用了它。

http://logging.apache.org/log4j/2.x/manual/migration.html

log4j2一切都使用 XML 文件(或更多 XML 文件,例如用于您的测试目录)进行配置。该文件应命名为log4j2.xml.

于 2013-09-03T13:24:31.640 回答