앱 로그 메시지가 STDOUT으로 보내지려고합니다.Log4J 로그 메시지가 app-log에 기록되고 stdout에 grails 앱인
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이 너무 많이 자라길 원치 않는다. 그리고 나는 catalina.out에서만 WARN 이상을 원합니다. 어떻게해야합니까?
업데이트 : 위의 질문을 업데이트했습니다. 이전에는 메시지가 catalina에서 두 번 기록되었다고 표시했습니다. 나는 그것을 고치는 방법을 발견했다. 그러나, 나는 아직도 원하지 않는 메시지를 한 번 기록한다. 나는 단지 WARN 메시지 만 원한다.
업데이트 2 : 문제를 알고 있지만 해결 방법을 모릅니다. catalina.out 로그 파일은 위의 구성을 통해 구성되지 않습니다. 기본 catalina.sh 시작 스크립트에서 모든 표준 출력은 catalina.out 파일에 기록됩니다. 따라서 appLog
에 기록되는 내 로그 메시지는 stdout
에 기록됩니다. 그래서 실제 문제는 위의 설정 파일을 기반으로 왜 내 appLog의 내용이 stdout
으로 출력되는지입니다. 내가 생각
좀 더 정보를 넣어 문제에 – Tihom