小编Pet*_*tty的帖子

LogManager.getLogger()无法确定Java 11上的类名

我正在使用带有Java 11的log4j2(2.11.1)并尝试Logger使用以下命令获取对象:

private static final Logger LOG = LogManager.getLogger();
Run Code Online (Sandbox Code Playgroud)

(从进口log4j-apiorg.apache.logging.log4j)

在运行时,我收到以下错误:

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.UnsupportedOperationException: No class provided, and an appropriate one cannot be found.
at 
org.apache.logging.log4j.LogManager.callerClass(LogManager.java:555)
    at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:580)
    at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:567)
    at app.App.<clinit>(App.java:11)
Run Code Online (Sandbox Code Playgroud)

哪个有意义 - 不支持getCallerClass,因此记录器无法确定类名.

它应该以这种方式工作吗?当然,我不必将类名硬编码到每个记录器中?

java log4j2 java-11

12
推荐指数
2
解决办法
2379
查看次数

标签 统计

java ×1

java-11 ×1

log4j2 ×1