logback mit EJB3.1

Ich bin mit logback/slf4j zu handhaben Protokollierung in meiner Anwendung. Alles lief perfekt, bis ich begann mit EJBs. Einmal habe ich ein stateless EJB, meine app, die logger gestartet ignoriert meine logback.xml und nicht mehr mit meinem appenders. Ich wechselte zu einer programmatischen logger-Konfiguration, um zu sehen, was falsch war und jetzt bin ich immer die folgende Fehlermeldung, wenn ich versuche, mit meinem logger innerhalb des EJB:


org.slf4j.impl.JDK14LoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext

sich aus der Zeile:


LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();

Gibt es da eine spezielle Konfiguration notwendig, um logback arbeiten mit EJBs? Wenn es darauf ankommt, ich bin die Bereitstellung auf glassfish v3.

Sind Sie auch mit slf4j?
Thivent: ja, ich glaube schon, ich bin mit slf4j statischen loggerfactory Methode und logback als meine Implementierung. Die seltsame Sache ist das genaue code war perfekt funktioniert, bevor ich begann, EJBs
Ja, das ist komisch. Aber vielleicht ist das problem versteckt war, so weit und hinzufügen eines EJB ausgelöst einigen besonderen zum laden von Klassen Sachen, die es offenbart.
Die EJB-Module zu ziehen in eine slf4j "upstream" in der classloader für einige Grund, und das slf4j konfiguriert dann in seinem Kontext. Dann ist das, was wird verwendet, wenn Ihr code braucht seinen logger.
Können Sie reproduzieren dieses Verhaltens mit 3.0.1?

InformationsquelleAutor kgrad | 2010-03-10

Schreibe einen Kommentar