2013-06-07 3 views
2

Я просто мигрировали все коды java.util.logging к log4j в моем GAE/J приложение, однако я получаю эту ошибку:Проблемы с использованием Log4j 2 в GAE

[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> 
+0

Вы видели руководство для разработчиков? –

+0

Подробности об ошибке? – xybrek

+0

Сообщение об ошибке достаточно ясно - OnStartupTriggeringPolicy ссылается на ManagementFactory - что запрещено в GAE. Я ничего не знаю о Log4j 2 - есть ли способ в вашей конфигурации отключить OnStartUpTriggeringPolicy или использовать другую реализацию, которая не использует материал MX beans, например. удалить planetjones

ответ

1

Вы можете отключить JMX в log4j2 устанавливая системное свойство: log4j2.disable.jmx=true. http://logging.apache.org/log4j/2.x/manual/jmx.html

+0

xybrek, ли отключить JMX для вас? –

+0

Я добавил системное свойство в appengine-web.xml, но все же получаю исключение из ManagementFactory. –

+0

Можете ли вы разместить свою конфигурацию? Не можете ли вы использовать OnStartupTriggeringPolicy в своей конфигурации? Я поднял билет log4j2 JIRA https://issues.apache.org/jira/browse/LOG4J2-379 –

Смежные вопросы