从log4j 1.x迁移到log4j2

2022-04-12 00:00:00 java log4j log4j2

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

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

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


解决方案

  1. 您的自定义附加器可能不再工作。Log4j2有很多功能,根据您的定制附加器的功能,该功能可能已经存在于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)时,这两个JAR都应该可以工作。

相关文章