Grails: журнал трассировки стека в стандартный вывод
Когда я запускаю приложение Grails, я получаю следующую ошибку:
java.io.FileNotFoundException: stacktrace.log (Permission denied)
Я знаю, что это может быть решено путем наложения нескольких файлов / каталогов или изменения файла, в который идут журналы, но я не хочу этого: я просто хочу, чтобы в stdout регистрировались трассировки.
документация состояния:
For example if you prefer full stack traces to go to the console, add this entry:
error stdout: "StackTrace"
Однако также говорится:
This won't stop Grails from attempting to create the stacktrace.log file - it just redirects where stack traces are written to.
И позже:
or, if you don't want to the 'stacktrace' appender at all, configure it as a 'null' appender:
log4j = {
appenders {
'null' name: "stacktrace"
}
}
Я объединяю 2 и получаю следующую конфигурацию:
// 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"
}
К сожалению, это не работает:
INFO: Deploying web application archive MyBackend.war
Sep 12, 2012 4:46:11 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Sep 12, 2012 4:46:11 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/MyBackend2] startup failed due to previous errors
Следует признать, что он больше не пытается написать stacktrace.log, поэтому ошибка «Отказано в доступе» больше не выдается, но я понятия не имею, почему приложение не запустится, потому что единственное, что оно регистрирует, это «Ошибка listenerStart».
Может ли кто-нибудь помочь мне с настройкой моего приложения, чтобы просто записывать трассировки стека на стандартный вывод?