grails - 在 logback 中注入(inject) grailsApplication

标签 grails logback logback-groovy

我想从 logback 中引用外部配置文件。
我有一个外部属性文件,其中包含数据源、我在 Controller 和日志配置中使用的一些变量。有没有办法从 logback 中检索这些变量?

grails.util.Holders.applicationContext.getBean('grailsApplication') 不起作用。

我知道我正在使用 externalconfig 插件,但是如果我想引用在 applicaction.yaml 中设置的路径,可以吗?

最佳答案

我怀疑如果持有人不工作,它可能在读取日志文件时没有连接。您拥有的一个控件是您可以在配置中设置另一个日志文件,如下所示:
http://mrhaki.blogspot.com/2015/09/grails-goodness-use-different-logging.html

虽然您可以将您使用的内容简化为 Holders.config,但通常来说,Holders 是一种黑客,在测试应用程序时可能会很痛苦。您应该在服务中使用注入(inject),或者使用 resources.groovy 或 @Autowired 将您的类连接为 bean,而不是使用持有者(必须扫描文件路径才能使注释起作用)。

关于grails - 在 logback 中注入(inject) grailsApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53912323/

相关文章:

grails - 有没有办法将 Grails 数据源注入(inject) logback.groovy 以便与 DBAppender 一起使用?

grails - Grails中的SSL验证错误

tomcat - 带有外部配置文件的grails war tomcat

xml - 转换为xml时的Groovy Grails测试用例错误

grails - 可以使用 map 作为输入变量配置 slurper 解析方法

java - 自定义 AppenderBase 未被调用

java - Dropwizard 应用程序不使用 configuration.yml 中的日志配置

scala - 记录到 Scala/akka 中的文件 : ClassNotFoundException: akka. event.slf4j.Slf4jLoggingFilter

groovy - logback 需要 groovy.jar 还是 groovy-all.jar?

groovy - 从 groovy 脚本配置 logback