在Grails中使用外部log4j.properties文件的最佳方法是什么?我想使用传统的log4j.properties格式而不是log4j.groovy样式配置.
我也很好奇,如果外部配置可以很好地使用由grails war
war文件创建并放入war文件的log4j.properties 文件.如果我从Config.groovy中删除log4j配置,log4j.properties仍然会被放入war文件中吗?
在Grails 1和2中,有一个日志DSL,它在一个开箱即用的webapp中配置和使用,因此你需要从中删除log4j = { ... }
代码grails-app/conf/Config.groovy
如果要像在典型的Java Web应用程序中一样使用外部配置文件进行日志记录,请grails-app/conf/spring/resources.groovy
使用以下内容更新文件.
beans = { log4jConfigurer(org.springframework.beans.factory.config.MethodInvokingFactoryBean) { targetClass = "org.springframework.util.Log4jConfigurer" targetMethod = "initLogging" arguments = ["classpath:log4j.properties"] } }
请注意,Log4j appender配置中使用的包名称可能不是您所期望的,因为它将添加一个Grails特定的前缀...
WARN grails.app.controllers.org.example.BookController - This is a warn log message from BookController ERROR grails.app.controllers.org.example.BookController - This is an error log message from BookController