Java 在GAE中使用Log4j 2的问题

Java 在GAE中使用Log4j 2的问题,java,google-app-engine,logging,log4j,log4j2,Java,Google App Engine,Logging,Log4j,Log4j2,我刚刚将所有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] a

我刚刚将所有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
[INFO]由以下原因引起:java.lang.NoClassDefFoundError:java.lang.management.ManagementFactory是受限类。有关更多详细信息,请参阅谷歌应用程序引擎开发者指南。
[信息]位于com.google.appengine.tools.development.agent.runtime.runtime.reject(runtime.java:51)
[信息]位于org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy.(OnStartupTriggeringPolicy.java:33)
[信息]位于java.lang.Class.forName0(本机方法)
[信息]位于java.lang.Class.forName(Class.java:186)
[信息]位于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>

org.apache.onami.logging
org.apache.onami.logging.log4j2
3.4.0-孵化

您可以通过设置系统属性来禁用log4j2中的JMX:
log4j2.disable.JMX=true

有关详细信息,请参阅《开发人员指南》?错误的详细信息?错误消息非常清楚-OnStartupRiggeringPolicy引用ManagementFactory-这在GAE上是不允许的。我对Log4j 2了解不多-您的配置中是否有办法禁用OnStartupRiggeringPolicy或使用不使用的其他实现MX beans之类的东西,例如remove我在appengine-web.xml中添加了一个系统属性,但仍然得到关于ManagementFactory的异常。您可以发布配置吗?您可以避免在配置中使用OnStartupRiggeringPolicy吗?我提出了一个log4j2 JIRA票证Marcel,log4j2现在在主干中对此进行了修复。此修复将包含在下一个(可能是最后一个)beta版beta-9。更新:beta-9无法正确解决此问题。trunk中现在有另一个可用的解决方案。如果有权访问GAE的任何人都可以验证Log4J trunk logging在GAE中是否起作用,那就太好了。