gpt4 book ai didi

java - Log4j,将 Web 应用配置为使用相对路径

转载 作者:IT老高 更新时间:2023-10-28 11:43:24 27 4
gpt4 key购买 nike

我有一个必须部署在 Win 或 Linux 机器上的 java webapp。我现在想为日志添加 log4j,并且我想为日志文件使用相对路径,因为我不想在每次部署时都更改文件路径。容器很可能是 Tomcat,但不一定。

最好的方法是什么?

最佳答案

Tomcat 设置 catalina.home 系统属性。您可以在 log4j 属性文件中使用它。像这样的:

log4j.rootCategory=DEBUG,errorfile

log4j.appender.errorfile.File=${catalina.home}/logs/LogFilename.log

在 Debian(包括 Ubuntu)上,${catalina.home} 将不起作用,因为它指向/usr/share/tomcat6,它没有指向/var/log/tomcat6 的链接。这里只使用 ${catalina.base}

如果您使用其他容器,请尝试查找类似的系统属性,或定义您自己的。设置系统属性将因平台和容器而异。但是对于 Linux/Unix 上的 Tomcat,我会在 CATALINA_HOME/bin 目录中创建一个 setenv.sh。它将包含:

export JAVA_OPTS="-Dcustom.logging.root=/var/log/webapps"

那么你的 log4j.properties 将是:

log4j.rootCategory=DEBUG,errorfile

log4j.appender.errorfile.File=${custom.logging.root}/LogFilename.log

关于java - Log4j,将 Web 应用配置为使用相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/216781/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com