在Java 11上,LogManager.getLogger()无法确定类名。
- 论坛
- 在Java 11上,LogManager.getLogger()无法确定类名。
9 浏览
在Java 11上,LogManager.getLogger()无法确定类名。
我正在使用Java 11的log4j2(2.11.1),并尝试使用以下代码获取一个Logger
对象:
private static final Logger LOG = LogManager.getLogger();
(从org.apache.logging.log4j
中的log4j-api
导入)
运行时,我收到以下错误:
警告:sun.reflect.Reflection.getCallerClass不受支持。这会影响性能。 异常发生在主线程中"main"java.lang.ExceptionInInitializerError 原因:java.lang.UnsupportedOperationException:未提供类,并且无法找到合适的类。 在org.apache.logging.log4j.LogManager.callerClass(LogManager.java:555)处 在org.apache.logging.log4j.LogManager.getLogger(LogManager.java:580)处 在org.apache.logging.log4j.LogManager.getLogger(LogManager.java:567)处 在app.App.(App.java:11)处
这是有道理的 - getCallerClass不受支持,因此记录器无法确定类名。
它应该这样工作吗?我肯定不需要在每个记录器中硬编码类名吧?