关于Grails日志记录和外部配置文件的一些问题

时间:2012-03-22 18:19:39

标签: grails logging resources

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

1 个答案:

答案 0 :(得分: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")
     }
 }

最后一部分非常重要。