これはかなり変わったようですが、grailsがwarファイルをビルドするとき、log4j.propertiesまたはlog4j.xmlファイルは生成されません。grails warを再ビルドせずにlog4jを設定しますか?
代わりに、WEB-INF/web.xmlに以下の
のweb.xmlがあります
<listener>
<listener-class>org.codehaus.groovy.grails.web.util.Log4jConfigListener</listener-class>
</listener>
を明らかにし、 "Log4jのDSLは、メモリ内のログを構成しますGrailsの"。ここでの問題は次のとおりです。 - log4jは自動的にJMXに公開されず、動的に変更され、grailsによって生成されたlog4jファイルはありません。しかし、Config.groovyはコンパイルされたファイルです。
戦争を再建することなくこれを管理する簡単な方法があるはずですか?その後、設定されたファイルへのDSL構成をシフト
beans = {
log4jConfigurer(org.springframework.beans.factory.config.MethodInvokingFactoryBean)
{
targetClass = "org.springframework.util.Log4jConfigurer"
targetMethod = "initLogging"
arguments = ["classpath:myapp/log4j.properties"]
}
}
:
resources.groovy:提案
1つのオプションは、春に通過し、そこにロギングを設定しています。
WARファイルを毎回再構築せずに、ロギング設定を動的に変更する方法については、誰でも助言できますか? grails-1.3.7を使用します。 DSLを切断することは正しい方法ではないようです。
おかげ
'MyExternalConfig.groovy'が変更された場合、この解決策は実行中のアプリケーションのログ設定を更新しますか?再起動を回避しようとしています。 –