【发布时间】:2013-06-07 08:14:22
【问题描述】:
我刚刚将所有 java.util.logging 代码迁移到我的 GAE/J 应用程序中的 log4j 但是我收到了这个错误:
[INFO] Caused by: java.lang.NoClassDefFoundError: java.lang.management.ManagementFactory is a restricted class. Please see the Google App Engine developer's guide for more details.
[INFO] at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)
[INFO] at org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy.<clinit>(OnStartupTriggeringPolicy.java:33)
[INFO] at java.lang.Class.forName0(Native Method)
[INFO] at java.lang.Class.forName(Class.java:186)
[INFO] at org.apache.logging.log4j.core.config.plugins.PluginManager.decode(PluginManager.java:222
有解决办法吗?
Log4j 的依赖是通过:
<dependency>
<groupId>org.apache.onami.logging</groupId>
<artifactId>org.apache.onami.logging.log4j2</artifactId>
<version>3.4.0-incubating</version>
</dependency>
【问题讨论】:
-
你看开发者指南了解详情了吗?
-
错误详情?
-
错误信息非常清楚 - OnStartupTriggeringPolicy 引用 ManagementFactory - 这在 GAE 上是不允许的。我对 Log4j 2 不太了解 - 您的配置中是否有办法禁用 OnStartUpTriggeringPolicy 或使用不使用 MX bean 的其他实现,例如删除
标签: java google-app-engine logging log4j log4j2