我想知道是否有办法在LOG4J中为属性替换提供默认值?
我想要通过Java系统属性传递文件路径,然后使用"${env:mySystemProperty}"。但是如果开发人员忘记设置此属性怎么办?那么我希望在log4j2.xml中定义一些有意义的默认值。
有什么想法实现这个功能吗?
编辑:
对我来说env替换不起作用:
standalone.conf
-DoauthLoginLogPath=/path/oauth2.log
log4j2.xml
<Appender type="File" name="File" fileName="${env:oauthLoginLogPath}" immediateFlush="true">
<Appender type="File" name="File" fileName="${sys:oauthLoginLogPath}" immediateFlush="true">
我可以在WildFly控制台中看到该属性,我已经重启了服务器,但仍未生效。
/var/log/myfile.log
,那么我会写${sys:oauthLoginLogPath:-/var/log/myfile.log}
。 - Jose Duarte