【问题标题】:Some questions about Grails logging and external config file关于 Grails 日志记录和外部配置文件的一些问题
【发布时间】:2012-03-22 18:19:39
【问题描述】:

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

【问题讨论】:

  • 您真的应该发布 2 个问题,因为这些问题完全不相关。我可以回答 #2,但我不会在这里,因为我无法回答 #1。

标签: grails logging resources


【解决方案1】:

下面介绍如何将配置文件添加到 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")
     }
 }

最后一部分非常重要。

【讨论】:

  • 然而这个答案不能诚实地被接受,因为你没有回答他的问题。老兄需要拆分它们。
  • 这可能是真的,但 Stack Overflow 的目的是帮助人们解决问题,部分答案总比没有好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-23
  • 2011-02-24
  • 2023-02-16
  • 2013-03-07
  • 2013-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多