如何在logback.groovy配置中引用$ {catalina.base}?

时间:2014-05-26 09:42:01

标签: java tomcat logging logback

我正在尝试部署一个使用logback的groovy配置文件的webapp。

我在xml文件中看到你可以引用$ {catalina.base}

有没有办法从logback.groovy引用它?我想要一个tomcat home或logs文件夹的引用。即使我没有设置环境变量,我希望它能够工作。

如果我按原样写下来就没有这样的财产:catalina"

我正在尝试将我的日志转到tomcat / logs / ...而不管主机名是什么。我想让它特定于webapp,而不是tomcat / conf /

1 个答案:

答案 0 :(得分:4)

catalina.base是一个系统属性,由Tomcat启动脚本(catalina.sh,catalina.bat)设置。
使用logback的groovy配置文件时,您只需将此系统属性的值读入变量并使用它,例如:

def catalinaBase = System.properties['catalina.base']

appender("FILE", FileAppender) {
    file = "${catalinaBase}/mylog.log"
    ...
}