【发布时间】:2012-02-23 06:28:49
【问题描述】:
您可以在log4j.properties 文件中使用诸如%APPDATA% 之类的环境变量扩展吗?
我需要将此文件部署为我的应用程序的一部分,并在以下行中指定一个用户特定的文件夹,例如 %APPDATA%。这可能吗?
log4j.appender.A2.File=%APPDATA%/mylog.log
【问题讨论】:
标签: java logging environment-variables
您可以在log4j.properties 文件中使用诸如%APPDATA% 之类的环境变量扩展吗?
我需要将此文件部署为我的应用程序的一部分,并在以下行中指定一个用户特定的文件夹,例如 %APPDATA%。这可能吗?
log4j.appender.A2.File=%APPDATA%/mylog.log
【问题讨论】:
标签: java logging environment-variables
不能直接引用环境变量,但是可以引用Java“系统属性”。
例如,在启动应用程序时,在命令行中设置系统属性:
java -Dapp.data="%APPDATA%" ...
在您的 log4j.properties 文件中,引用您在命令行中设置的系统属性:
log4j.appender.A2.File=${app.data}/mylog.log
【讨论】:
user.dir呢?
${user.home}/Application Data 对我来说效果很好。此路径在 Win7 上解析为 %USERPROFILE%\AppData\Roaming,这正是我想要的。