Log4j2配置:如何将java.io.tmpdir设为log.filePath的默认值?
Log4j2 动态日志路径默认值配置方案
Log4j2支持将系统属性作为查找的默认值,你之前的写法无效是因为语法错误,正确的嵌套查找格式如下:
appender.file.fileName=${sys:log.filePath:-${sys:java.io.tmpdir}}/app.log
说明:
- 当
log.filePath系统属性已设置时,日志文件会生成在该属性指定的路径下,文件名为app.log - 当
log.filePath未设置时,会自动解析java.io.tmpdir系统属性,将日志文件生成在系统临时目录下
之前的${sys:logPath:-sys:java.io.tmpdir}写法只是把字符串sys:java.io.tmpdir当作静态默认值,而非解析对应的系统属性,必须通过嵌套${sys:...}的方式让Log4j2识别并解析这个系统属性。
内容的提问来源于stack exchange,提问作者Kousik Mandal
相关产品推荐
相关产品推荐

