Мы написали простой класс, как это:Singleton, запуск и log4j инициализации: Нет appenders не может быть найдено для регистратора
import org.apache.log4j.Logger;
[...]
@Singleton
@Startup
public class ContactFormScheduler {
private static final Logger log = Logger.getLogger(ContactFormScheduler.class);
[...]
Когда мы начинаем сервер (WildFly 10.1.0) мы получили следующее сообщение об ошибке:
15: 35: 27142 ERROR Pool [STDERR] (ServerService Thread - 58) log4j: не WARN нет appenders может быть найдено для регистратора (com.test.ContactFormScheduler).
15: 35: 27,143 ОШИБКА [stderr] (пул потоков ServerService - 58) log4j: WARN Пожалуйста, правильно инициализируйте систему log4j.
Любые подсказки? Каков наилучший способ инициализации log4j?
В web.xml:
<context-param>
<param-name>log4j-config-location</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
в JBoss-развертывания-structure.xml
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
<exclusions>
<module name="org.apache.log4j" />
</exclusions>
</deployment>
</jboss-deployment-structure>
Другие классы журналы правильно.
Благодаря Andrea
Что вы используете для настройки log4j? –
Я отредактировал мой вопрос с настройкой – pacionet
'@ Startup' EJB вызывается во время инициализации приложения. Я предполагаю, что Wildfly не инициализировал Log4J во время стадии инициализации (развертывания) приложения, поэтому вы получаете ошибку. –