是否可以在log4j.properties
文件中使用env-var扩展,如%APPDATA%
?
我需要将此文件作为应用程序的一部分进行部署,并在下面的行中指定一个特定于用户的文件夹,如%APPDATA%。这可能吗?
log4j.appender.A2.File=%APPDATA%/mylog.log
您不能直接引用环境变量,但可以引用Java"系统属性"
例如,启动应用程序时,在命令行上设置系统属性:
java -Dapp.data="%APPDATA%" ...
在log4j.properties文件中,引用您在命令行上设置的系统属性:
log4j.appender.A2.File=${app.data}/mylog.log
我在log4j2.xml
配置文件中使用以下代码。
<RollingFile name="FILE" fileName="${sys:user.home}/AppData/Roaming/MyApplication/MyApplication.log" filePattern="${sys:user.home}/AppData/Roaming/MyApplication/MyApplication.log-%d{yyyy-MM-dd}-%i.log">