- Use the default logging configuration inside Config.groovy for test or dev.
- Use an external log4j.properties file in production.
It's quite frustating and it is not so well documented.
After some digging I came up with a quite elegant solution:
Config.groovy:
----------------------------
import grails.util.Environment if(Environment.current!=Environment.PRODUCTION){ // log4j configuration log4j = { ... } }
resources.groovy:
----------------------------
import grails.util.Environment if(Environment.current==Environment.PRODUCTION){ log4jConfigurer(org.springframework.beans.factory.config.MethodInvokingFactoryBean) { targetClass = "org.springframework.util.Log4jConfigurer" targetMethod = "initLogging" arguments = ["classpath:resources/log4j.properties"] } }
log4j.properties (src/resources/log4j.properties):
----------------------------
//whatever make sense to you
Please remember NOT to forget your imports or otherwise it wont work.
Hope it helps!
PD: Grails 3.0 is about to see the light and ...well who kows!. This solution is right for Grails 2.x family.
No hay comentarios:
Publicar un comentario