Wir schrieben eine einfache Klasse wie folgt aus:Singleton, Inbetriebnahme und log4j Initialisierung: Keine Appen für Logger gefunden werden konnte
import org.apache.log4j.Logger;
[...]
@Singleton
@Startup
public class ContactFormScheduler {
private static final Logger log = Logger.getLogger(ContactFormScheduler.class);
[...]
Wenn wir Server (Wildfly 10.1.0 starten) wir haben folgende Fehlermeldung:
15: 35: 27,142 Fehler [stderr] (ServerService Threadpool - 58) log4j: WARN Es konnten keine Appender für den Logger (com.test.ContactFormScheduler) gefunden werden.
15: 35: 27,143 FEHLER [stderr] (ServerService-Thread-Pool - 58) log4j: WARN Bitte initialisieren Sie das log4j-System ordnungsgemäß.
Irgendwelche Hinweise? Was ist der beste Weg, um log4j zu initialisieren?
In web.xml:
<context-param>
<param-name>log4j-config-location</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
in jboss-Deployment-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>
Andere Klassen protokolliert korrekt.
Dank Andrea
Was verwenden Sie zum Konfigurieren von log4j? –
Ich habe meine Frage mit der Konfiguration – pacionet
'@Startup' bearbeitet. EJB wird während der Initialisierung der Anwendung aufgerufen. Ich gehe davon aus, dass Wildfly Log4J während der Anwendungsinitialisierung (Bereitstellung) nicht initialisiert hat, weshalb Sie den Fehler erhalten. –