Grails: log stacktrace auf stdout

Wenn ich starte meine grails-Anwendung, bekomme ich die folgende Fehlermeldung:

java.io.FileNotFoundException: stacktrace.log (Permission denied)

Ich weiß, dieses Problem kann gelöst werden, indem chowning einige Dateien/Verzeichnisse oder durch ändern der Datei die logs gehen, aber das will ich nicht: ich möchte nur stracktraces angemeldet sein, um die Standardausgabe.

Den Dokumentation Staaten:

Zum Beispiel, wenn Sie bevorzugen volle stack-traces zu gehen, um die Konsole hinzufügen
dieser Eintrag:

Fehler stdout: "StackTrace"

Jedoch: auch Staaten:

Dieser wird nicht aufhören, Grails aus dem Versuch zum erstellen der stacktrace.melden
Datei - es leitet nur, wo die stack-traces geschrieben werden.

Und später:

oder, wenn Sie nicht wollen, um die 'stacktrace' Appen an alle, konfigurieren
es als 'null' Appen:

log4j = {
    appenders {
        'null' name: "stacktrace"
    }
}

Verbinde ich die 2 und erhalten die folgende Konfiguration:

//log4j configuration
environments {
    production {
        log4j = {
            appenders {
                console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
                //Don't use stacktrace.log
                'null' name: "stacktrace"
            }
        }

    }
}

log4j = {
    //print the stacktrace to stdout
    error stdout:"StackTrace"
}

Leider funktioniert das nicht:

INFO: Deploying web application archive MyBackend.Krieg

Sep 12, 2012 4:46:11 PM org.apache.catalina.core.StandardContext start

SCHWERWIEGEND: Fehler listenerStart

Sep 12, 2012 4:46:11 PM org.apache.catalina.core.StandardContext start

SCHWERER: Kontext [/MyBackend2] Start fehlgeschlagen aufgrund früherer Fehler

Zugegeben, es versucht nicht, zu schreiben stacktrace.log mehr, so das die Berechtigung verweigert " - Fehler nicht mehr geworfen, aber ich habe keine Ahnung, warum die app nicht mehr starten becaue das einzige was protokolliert wird "Fehler listenerStart"

Kann bitte jemand mir helfen mit der Konfiguration meiner app nur anmelden die stacktraces auf stdout?

  • Ich fand heraus, dass ändern Sie die log4j-Eigenschaften in der Config.groovy funktioniert nur, nachdem die app gestartet wurde. Ich schließlich zu sehen bekam, der Grund für die "Fehler listenerStart" durch Eingabe von "tail-n 150 /var/log/tomcat6/localhost.2012-09-18.log" (bitte ändern Sie das Datum auf "heute", wenn Sie möchten, um zu sehen, die in der heutigen stacktraces)
InformationsquelleAutor Cristan | 2012-09-12
Schreibe einen Kommentar