【问题标题】:Logger.getLogger(), LogManager.resetConfiguration() and PropertyConfigurator.configure(props) not working in log4j 2.16 [duplicate]Logger.getLogger()、LogManager.resetConfiguration() 和 PropertyConfigurator.configure(props) 在 log4j 2.16 中不起作用 [重复]
【发布时间】:2022-01-18 10:46:40
【问题描述】:

由于最新的 log4j 惨败,我们需要重新组织我们的一些代码。早些时候它在 log4j-1.2.17 上运行。现在在使用 log4j-2.16 时,我们首先遇到错误:

static Logger log = Logger.getLogger(TestAuthor.class);

找不到方法“getLogger”。

LogManager.resetConfiguration();- 未找到。 PropertyConfigurator.configure(props);-找不到

还有其他方法可以定义吗?

【问题讨论】:

  • Log4j v1 根本没有易受攻击的功能:stackoverflow.com/q/70310980/3001761
  • log4j 1.2.17 不受该漏洞影响。但即使是这样,该库也有文档可以告诉您版本 1.x 和 2.x 之间发生了什么变化,以及如何在 2.x 中实例化记录器。他们甚至在他们的网站上有一个迁移指南,您可能会想阅读。
  • 您正在从 Log4J 版本 1.x 迁移到 2.x 检查logging.apache.org/log4j/2.x/manual/migration.html

标签: java log4j


【解决方案1】:

Log4j 的 API 在 1.x 和 2.x 之间发生了变化。在 log4j 2.x 中,您应该改用 LogManager.getLogger

static Logger log = LogManager.getLogger(TestAuthor.class);

【讨论】:

  • 谢谢。我在以下道具中也遇到了相同类型的实例化错误-LogManager.resetConfiguration(); PropertyConfigurator.configure(prop);
猜你喜欢
  • 2022-01-20
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 2013-11-18
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 2011-01-20
相关资源
最近更新 更多