Cela semble assez étrange, mais quand Grails construit un fichier de guerre, il ne génère pas un fichier ou log4j.properties log4j.xml.Grails configurer log4j sans reconstruire la guerre?
Au contraire, il a les éléments suivants dans WEB-INF/web.xml
web.xml:
<listener>
<listener-class>org.codehaus.groovy.grails.web.util.Log4jConfigListener</listener-class>
</listener>
et apparemment "Grails Log4j DSL configure la connexion en mémoire". Le problème ici est - log4j est pas exposé automatiquement JMX pour nous de changer dynamiquement et il n'y a pas de fichier log4j généré par Grails. Mais Config.groovy est un fichier compilé.
Il doit y avoir un moyen facile de gérer cela sans reconstruire la guerre?
Une option proposée est de passer par au printemps et configurer l'enregistrement il y a:
resources.groovy:
beans = {
log4jConfigurer(org.springframework.beans.factory.config.MethodInvokingFactoryBean)
{
targetClass = "org.springframework.util.Log4jConfigurer"
targetMethod = "initLogging"
arguments = ["classpath:myapp/log4j.properties"]
}
}
Déplacez ensuite la configuration dans le DSL au fichier configuré.
Quelqu'un peut-il conseiller la façon dont « groovy » pour modifier dynamiquement la configuration de l'enregistrement sans reconstruire le fichier WAR à chaque fois. Utilisation de grails-1.3.7. Couper le DSL ne semble pas la bonne façon.
Merci
Est-ce que cette solution mise à jour les paramètres de journalisation dans une application en cours d'exécution si 'MyExternalConfig.groovy' est modifié? Essayer d'éviter les redémarrages. –