2012-03-22 67 views
0

我有2个有关Grails日志记录和使用外部配置文件的问题。
1.在src/groovy文件夹中,我放置了一个类A,并且我想在某些方法中记录事件,但是我不能使用内置的“记录器”,因为这个类在Grails的服务和控制器范围之外应用。我尝试使用LogFactory.getLog(“A.class”),但是我没有看到从此日志记录变量中写出任何内容。那么我怎么能强制这个额外的记录器写入登录到默认创建的同一个日志文件呢?或者是否有可能重新使用Grails提供的内置记录器?
2.我想允许用户重新定义一些将在应用程序中使用的参数,因此我创建了一个外部配置文件并构建文件内容的语法,就像Grails应用于消息资源文件的方式(code = value) 。那么,我可以让Grails了解并处理该文件作为其他消息资源文件吗?以及如何将它包含到应用程序的资源类路径中?
非常感谢!有关Grails日志记录和外部配置文件的一些问题

+1

你应该真的发布2个问题,因为这些是完全不相关的。我可以回答#2但我不会在这里,因为我无法回答#1。 – Gregg 2012-03-22 19:46:24

回答

0

下面介绍如何将配置文件添加到Grails项目中。

创建一个属性文件myExternalProperties.groovy,并将其放在您的类路径中(例如$TOMCAT_HOME/lib目录)。

创建配置文件grails-app/conf/MyConfig.groovy以使用外部配置值(如果需要)。您将无法使用grails-app/conf/Config.groovy中myExternalProperties.groovy中定义的属性。编号grails-app/conf/Config.groovy。取消对行的定义grails.config.locations和补充一点:

grails.config.locations << "classpath:MyExternalProperties.groovy" 
grails.config.locations << "classpath:MyConfig.groovy" 

添加以下scripts/Events.groovy(这可能需要创建)。

eventCompileEnd = { 
    ant.copy(todir:classesDirPath) { 
     fileset(file:"${basedir}/grails-app/conf/MyConfig.groovy") 
    } 
} 

最后一部分非常重要。

+0

但这个答案不能诚实地被接受,因为你没有回答他的问题。伙计需要分裂他们。 – Gregg 2012-03-23 03:01:56

+0

这可能是真的,但Stack Overflow的目的是帮助人们解决他们的问题,部分答案总比没有答案好。 – 2012-03-23 13:08:57