以编程方式检测是否已读入外部配置文件?
Programmatically detecting if an external config file has been read in?
我们使用 grails.config.locations 从应用程序外部文件中提取(可选)设置。有没有一个好的方法来检测这个文件是否已加载,无论是在 Bootstrap.groovy 还是在 Config.groovy 本身?
Config.groovy 有这个:
grails.config.locations = [
"file:${userHome}/.grails/${appName}-config.groovy"
]
很高兴知道 Grails 是否找到并读取了此文件。
您可能会在打开 Grails 调试模式时看到这一点,但您不想那样做。我正在使用以下策略。首先我检查文件是否存在:
def externalConfigFile = "${userHome}/.grails/${appName}-config.groovy"
if (new File(externalConfigFile).exists()) {
grails.config.locations << "file:" + externalConfigFile
log.info "External configuration file found at ${externalConfigFile} ..."
}
然后在文件本身中我只是记录它是 运行:
log.info 'External config file was loaded.'
所以现在我可以在启动时的日志中看到我找到了一个外部配置文件,它是一个现有文件,并且该文件是 Grails 运行,所以它被加载了。
我还没有找到更好的东西。
我们使用 grails.config.locations 从应用程序外部文件中提取(可选)设置。有没有一个好的方法来检测这个文件是否已加载,无论是在 Bootstrap.groovy 还是在 Config.groovy 本身?
Config.groovy 有这个:
grails.config.locations = [
"file:${userHome}/.grails/${appName}-config.groovy"
]
很高兴知道 Grails 是否找到并读取了此文件。
您可能会在打开 Grails 调试模式时看到这一点,但您不想那样做。我正在使用以下策略。首先我检查文件是否存在:
def externalConfigFile = "${userHome}/.grails/${appName}-config.groovy"
if (new File(externalConfigFile).exists()) {
grails.config.locations << "file:" + externalConfigFile
log.info "External configuration file found at ${externalConfigFile} ..."
}
然后在文件本身中我只是记录它是 运行:
log.info 'External config file was loaded.'
所以现在我可以在启动时的日志中看到我找到了一个外部配置文件,它是一个现有文件,并且该文件是 Grails 运行,所以它被加载了。
我还没有找到更好的东西。