2009-07-21 11 views
7

J'ai cette configuration log4j dans mes Grails config.groovylog4j dans grails: comment se connecter au fichier?

log4j = { 
    error 'org.codehaus.groovy.grails.web.servlet', // controllers 
        'org.codehaus.groovy.grails.web.pages' // GSP 
    warn 'org.mortbay.log' 


    appenders { 
     rollingFile name:'infoLog', file:'info.log', threshold: org.apache.log4j.Level.INFO, maxFileSize:1024 
     rollingFile name:'warnLog', file:'warn.log', threshold: org.apache.log4j.Level.WARN, maxFileSize:1024 
     rollingFile name:'errorLog', file:'error.log', threshold: org.apache.log4j.Level.ERROR, maxFileSize:1024 
     rollingFile name:'custom', file:'custom.log', maxFileSize:1024 
    } 

    root { 
     info 'infoLog','warnLog','errorLog','custom', stdout 
     error() 
     additivity = true 
    } 
} 

le Infolog, warnLog et ERRORLOG était la question précédente ... ils travaillaient bien.

maintenant j'ajouter le nouveau nom de l'esprit de RollingFile "personnalisé" ...

J'ai essayé de vous connecter de mon contrôleur et service à l'aide log.info ("quelque chose .... $ {obj}"); mais il semble que le message n'a pas été inséré dans custom.log, dois-je ajouter quelque chose à la configuration?

merci !!

+1

N'êtes-vous pas manquer la valeur de seuil? – Jon

+0

Comme je regarde votre code, je pense que - stout - devrait être cité ("stout") –

Répondre

6

juste obtenu réponse de la liste de diffusion de Grails:

i juste besoin d'ajouter

debug "grails.app"

ci-dessous warn "org.mortbay.log"

affaire classée ! :)

+1

même si j'utilise un appender personnalisé, il finit toujours dans l'appender root. Et si je supprime mon appender de la racine, alors cela ne fonctionne pas du tout. Un moyen d'empêcher cela? – Bharani

0

J'ai exactement les mêmes jetty/tomcat env. J'ai passé des heures à le comprendre. L'astuce consiste à définir l'emplacement du fichier (un chemin relatif dans mon cas) en tant que variable globale dans Config.groovy, à le personnaliser dans les blocs d'environnement et à utiliser l'emplacement de la variable dans la fermeture de log4j. Exemple de code est à: http://denistek.blogspot.com/2010/02/grails-environment-specific-logging-to.html