java - 在 GAE 中使用 Log4j 2 的问题

标签 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]  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>

最佳答案

您可以通过设置系统属性禁用 log4j2 中的 JMX:log4j2.disable.jmx=truehttp://logging.apache.org/log4j/2.x/manual/jmx.html

关于java - 在 GAE 中使用 Log4j 2 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16979283/

相关文章:

java - 线程限制/swingworkers

java - 使用 GAE 的简单测验网站?

python-3.x - 在 Pytest fixture 中使用时,Python 日志记录不会记录

Python 日志记录失败,网络驱动器上的日志文件(Windows 10)

java - CDI 不能注入(inject) pojo java 类。 (带有限定符@Default 的 Pojo 类型的依赖关系不满足)

Java try catch - 内存不足

java - 为 appengine 的数据存储区编写基本查询

google-app-engine - 连接到 channel 的客户端间歇性错误代码 400,描述 ""

logging - Elixir 中磁盘上的记录器

java - 更改代码以抛出非法位置异常