grails から非フォーク モードで tomcat を実行するとログが正しく機能するが、フォーク モードでは正しく機能しないという問題があります。
これが私のLog4j構成です:
Config.groovy :
// log4j configuration
log4j = {
appenders {
file name:"fileLogger", file: "c:/logs/app-log.log", threshold: Level.DEBUG
}
debug fileLogger: ['com.foo', 'BootStrap']
info fileLogger: ['org.springframework']
error fileLogger: [
'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.hibernate',
'net.sf.ehcache.hibernate']
}
を実行するgrails run-app
と、ログ ファイルが正しく読み込まれます。
ただし、BuildConfig.groovy
ファイルを変更して tomcat を fork モードで実行すると、次のようになります。
BuildConfig.groovy:
grails.project.fork = [
run: [maxMemory:1024, minMemory:64, debug:false, maxPerm:256]
]
ログ ファイルは読み込まれません。
構成に何か問題がありますか? あるモードでは機能するのに、他のモードでは機能しないのはなぜですか?