从log4j 1.x迁移到log4j2

时间:2013-09-03 13:20:15

标签: java log4j log4j2

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

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

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

2 个答案:

答案 0 :(得分:3)

  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之外,总是需要这两个罐子。)

答案 1 :(得分:2)

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

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

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