Grails: loguj stacktrace na stdout
Po uruchomieniu aplikacji Grails pojawia się następujący błąd:
java.io.FileNotFoundException: stacktrace.log (Odmowa uprawnień)
Wiem, że można to rozwiązać, wyszukując niektóre pliki / katalogi lub zmieniając plik, do którego prowadzą logi, ale nie chcę tego: chcę, aby stracktraces były rejestrowane na standardowe wyjście.
Thedokumentacja stwierdza:
Na przykład, jeśli wolisz śledzenie pełnego stosu, aby przejść do konsoli, dodaj ten wpis:
błąd stdout: „StackTrace”
Jednakże: stwierdza również:
Nie powstrzyma to Grailsa przed próbą utworzenia pliku stacktrace.log - po prostu przekierowuje tam, gdzie zapisywane są ślady stosu.
I później:
lub jeśli w ogóle nie chcesz aplikatora „stacktrace”, skonfiguruj go jako aplikator „zerowy”:
log4j = {
appenders {
'null' name: "stacktrace"
}
}
Łączę 2 i otrzymuję następującą konfigurację:
// 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"
}
Niestety to nie działa:
INFO: Wdrażanie archiwum aplikacji WWW MyBackend.war
12 września 2012 16:46:11 org.apache.catalina.core.StandardContext rozpocznij
SEVERE: Błąd listenerStart
12 września 2012 16:46:11 org.apache.catalina.core.StandardContext rozpocznij
SEVERE: Uruchamianie kontekstu [/ MyBackend2] nie powiodło się z powodu poprzednich błędów
Wprawdzie nie próbuje już pisać stacktrace.log, więc błąd odrzucania uprawnień nie jest już rzucany, ale nie mam pojęcia, dlaczego aplikacja się nie uruchomi, ponieważ jedyne, co rejestruje to „Error listenerStart”
Czy ktoś może mi pomóc w skonfigurowaniu mojej aplikacji, aby po prostu logowała sterty na stdout?