你能在log4j.properties文件中使用%APPDATA%等env var扩展吗?

CJ7*_*CJ7 3 java logging environment-variables

你可以使用env var扩展,例如%APPDATA%log4j.properties文件中吗?

我需要将此文件部署为我的应用程序的一部分,在以下行中,我想指定用户特定的文件夹,例如%APPDATA%.这可能吗?

log4j.appender.A2.File=%APPDATA%/mylog.log
Run Code Online (Sandbox Code Playgroud)

eri*_*son 5

您不能直接引用环境变量,但可以参考Java"系统属性".

例如,在启动应用程序时,请在命令行上设置系统属性:

java -Dapp.data="%APPDATA%" ...
Run Code Online (Sandbox Code Playgroud)

在log4j.properties文件中,引用您在命令行上设置的系统属性:

log4j.appender.A2.File=${app.data}/mylog.log
Run Code Online (Sandbox Code Playgroud)

  • @erickson:`$ {user.home}/Application Data`对我来说很好.这个路径解析为Win7上的'%USERPROFILE%\ AppData\Roaming`,这就是我想要的. (2认同)