Log4j2迁移:缺少LocationInfo类

tyky79it  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(211)

我正在按照Apache的指导将一个大型应用程序从Log4j 1迁移到Log4j 2。我偶然发现了Log4j1的LocationInfo类的用法,现在我不知道如何调整代码以适合Log4j2。我检查了Log4j2 API和实现,以查找具有该名称的类。不幸的是,没有任何成功。此外,这个问题没有提到的指南或其他任何地方,我检查了网站。有人有一个想法如何解决它?

lskq00tm

lskq00tm1#

在Log4j 2.x Core中没有使用LocationInfo类,因为使用的是标准的Java StackTraceElement。当然,在Log4j 1.x Bridge中仍然存在LocationInfo类(参见javadoc)。
要检索StackTraceElement,只需调用LogEvent#getSource()
请注意,检索位置信息是一项开销很大的操作,因此,如果需要,它会延迟执行。AsyncLogger默认情况下不检索位置信息。

相关问题