在Grails中使用外部log4j.properties文件的最佳方法是什么?我想使用传统的log4j.properties格式而不是log4j.groovy样式配置.
我也很好奇,如果外部配置可以很好地使用由grails warwar文件创建并放入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"]
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,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
Run Code Online (Sandbox Code Playgroud)
查看Log4J 插件,其中指出:
“一些老派 Java 开发人员更喜欢 log4j.xml,尽管配置文件要大得多。这个插件提供了一种禁用默认 Log4j DSL 的方法,并允许以原始形式或以其他形式使用 log4j.xml。 Groovy MarkupBuilder 风格。”
我自己没有使用过它,所以无法谈论它在 WAR 上下文中的可用性。只需 WAR 出您的应用程序,然后尝试一下。它应该位于 WEB-INF 文件夹下明显的位置。如果这不起作用,grails 用户列表中的Mingfai可能可以帮助您。
| 归档时间: |
|
| 查看次数: |
7682 次 |
| 最近记录: |