Logback nicht finden können logback.xml obwohl es vorhanden ist (über den Klassenpfad)

Ich habe ein Problem mit logback. Ich habe es (mit maven) und alles scheint in Ordnung, außer dass Logback-Berichte es nicht finden können in der Konfigurationsdatei (aber ich bin in der Lage, log auf der Konsole mit dem default-logger-Konfiguration).

[#|2013-07-03T07:55:30.843+0200|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=124;_ThreadName=Thread-2;|07:54:39,844 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Konnte NICHT finden die Ressource [logback.groovy]

07:54:39,844 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Konnte NICHT finden die Ressource [logback-test.xml]

07:54:39,844 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Konnte NICHT finden die Ressource [logback.xml]

07:54:39,847 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Einstellung, Standard-Konfiguration.
|#]

Lege ich die Konfigurationsdatei (genannt logback.xml) in der src/main/resources Ordner von meinem Maven-Artefakt (das ist KRIEG).
Interessanterweise, wenn ich versuche, das laden der config aus dem Klassenpfad, die ich erfolgreich:

Reader r = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("logback.xml"));
StringWriter sw = new StringWriter();
char[] buffer = new char[1024];
for (int n; (n = r.read(buffer)) != -1; )
    sw.write(buffer, 0, n);
String str = sw.toString();
System.out.println(str);

Dem druckt mein Beispiel-Konfigurations-Datei:

[#|2013-07-03T07:55:30.844+0200|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=124;_ThreadName=Thread-2;|<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="debug">
        <appender-ref ref="STDOUT" />
    </root> </configuration>|#]

Meine pom.xml hat die folgenden Einträge:

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.0.13</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.0.13</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>

Ist gepackt als war-Datei (innerhalb einer EAR-Datei). Die Lage des logback.xml innerhalb der war-Datei ist wie folgt: WEB-INF/classes/logback.xml

Hat jemand eine Idee, was falsch ist mit meinem setup?

Vielen Dank für Eure Hilfe

stupidSheep

  • Sind Sie sicher, dass Sie die Verwendung von logback von Ihrem Krieg, und nicht vom Anwendungs-server?
InformationsquelleAutor stupidSheep | 2013-07-03
Schreibe einen Kommentar