在Grails中指定logback的配置文件

在 Grails3 中,默认的日志系统采用 logback, 默认的配置文件是 grails-app/conf/logback.groovy 文件, 这个文件在发布应用程序时会被打包到jar文件中。运行没问题。但维护起来非常不方便,总不能每次改日志配置都要重新打包,发布程序吧。

解决方法

  1. 设定Java运行参数:logging.config
1
java -Dlogging.config=<location> -jar ...
  1. 通过系统环境变量来指定:

Unix(Linux)

1
export LOGGING_CONFIG=<location>

Windows

1
set LOGGING_CONFIG=<location>

在开发时如何配置

以上的两种方法都是正对命令行运行的方法,在IDE环境中有如何配置呢?

找到项目的 build.gradle 文件, 在 bootRun 中加入 jvmArgs , 示例代码如下:

1
2
3
4
5
6

bootRun{
bootRun {
jvmArgs('-Dspring.output.ansi.enabled=always', '-Dlogging.config=/opt/hohistar.t2t/config/logback.groovy')
}
}

实际上这也是通用的为 Gradle 构建项目添加运行参数的方法。除了添加系统环境参数,还可以为当前程序添加,用 args , 代码如下:

1
2
3
4
5
6
bootRun{
bootRun {
jvmArgs('-Dspring.output.ansi.enabled=always', '-Dlogging.config=/opt/hohistar.t2t/config/logback.groovy')
args('--app.foo=bar','--app.bar=foo') // Override the `app.foo` and `app.bar` config options (`grailsApplication.config`)
}
}

本文标题:在Grails中指定logback的配置文件

文章作者:Morning Star

发布时间:2019年06月26日 - 20:06

最后更新:2021年04月16日 - 15:04

原始链接:https://www.mls-tech.info/java/java-grails-log-file/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。