Я пытаюсь предотвратить отправку сообщений журнала приложения в STDOUT.
У меня есть следующая конфигурация для ведения журнала:
log4j = {
appenders {
rollingFile name: 'applog', file: "${System.properties.getProperty('catalina.base')}${File.separator}logs${File.separator}application.log".toString(), layout: pattern(conversionPattern: '%d{dd-MM-yyyy HH:mm:ss,SSS} %5p%c{1} - %m%n'), maxFileSize: '1MB'
file name: 'stacktrace', file: "${System.properties.getProperty('catalina.base')}${File.separator}logs${File.separator}stacktrace.out".toString(), layout: pattern(conversionPattern: '%c{2} %m%n')
console name:'stdout', layout:pattern(conversionPattern: '%c{2} %m%n')
}
error stacktrace: "StackTrace"
error 'org.codehaus.groovy.grails.web.servlet', // controllers
'org.codehaus.groovy.grails.web.pages', // GSP
'org.codehaus.groovy.grails.web.sitemesh', // layouts
'org.codehaus.groovy.grails.web.mapping.filter', // URL mapping
'org.codehaus.groovy.grails.web.mapping', // URL mapping
'org.codehaus.groovy.grails.commons', // core / classloading
'org.codehaus.groovy.grails.plugins', // plugins
'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration
'org.springframework',
'org.hibernate',
'net.sf.ehcache.hibernate'
warn 'org.mortbay.log'
info 'grails.app'
root {
info applog
error 'stdout'
additivity=false
}
}
Журналы, которые выводятся в моем приложениифайл в порядке.Проблема в том, что catalina.out дублирует каждую строку в нем.Я не хочу, чтобы catalina.out росла слишком сильно.И я хочу только WARN и выше в catalina.out.Как мне это сделать?
Обновление : я обновил вышеупомянутый вопрос.Ранее я указывал, что сообщения были дважды зарегистрированы в каталине.Я понял, как это исправить.Однако, это все еще регистрирует сообщение однажды, которое я не хочу.Мне нужны только сообщения WARN.
Обновление 2 : мне кажется, я знаю проблему, но не знаю, как ее решить.Файл журнала catalina.out не настроен через конфигурацию выше.В сценарии запуска catalina.sh по умолчанию все стандартные выходные данные записываются в файл catalina.out.Так что мои сообщения журнала, которые записываются в appLog
, также записываются в stdout
.Таким образом, реальная проблема заключается в том, что на основе приведенного выше файла конфигурации содержимое моего appLog также выводится в stdout
.