2012-01-13 109 views
1

我有一个由几个模块组成的Web应用程序。所有的模块都包装在一个耳朵里。 其中之一是一个全新的groovy应用程序,而其他人是更老的学校。这个新的Grails应用程序不在我的责任之下。
请注意,grails没有使用任何log4j。[properties | xml]文件,但是它作为它自己的DSL在运行时直接与log4j交互。该配置位于与应用程序一起打包的config.groovy脚本中。Grails日志配置是劫持外部日志配置,如何阻止它?

Log4j使用外部文件和JVM的-Dlog4j.configuration选项进行配置。

问题是圣杯配置由含有非常宽松的配置:
- 设置根级别信息
- 添加附加器

其结果是,在外部配置由Grails的劫持控制台:
现在有两个控制台appender(记录两次相同的信息)和大量无用的信息数据被记录。

是否有另一种解决方案,而不是一个程序化的方法,告诉grails停止粗鲁?

+0

,将其配置在Grails的日志配置文件。 – 2012-01-13 15:51:36

+0

grails应用程序是一个子模块,打包在一个罐子里。我不想改变这个配置文件。 – Guillaume 2012-01-13 15:52:48

回答

1
+0

非常感谢Tomas。我只是对这样一个事实感到失望,那就是没有外部的信息告诉grails停止使用内置的日志......在这个过程中发现的过程非常黑客,你需要在grails应用程序中添加对它的支持:你需要向groovy开发团队询问这些变化:这不是真正的开发友好:(但我想这是继续进行的唯一方法。 – Guillaume 2012-01-17 07:39:37