首页 > 其他 > 详细

log4j配置获取系统属性及默认值

时间:2019-08-29 13:23:26      阅读:77      评论:0      收藏:0      [点我收藏+]

一、使用场景

  1.因某些原因,我们可能将log4j中的配置变量化,进行动态获取

  2.动态获取内容不存在时,我们希望能够赋上通用的值

二、语法

  • 单变量:

${前缀:变量:-默认值}

  如:

  ${sys:i2cc.base.dir:-/tmp/i2cc}/logs

  • 多个候选变量:

    ${前缀:变量:-${前缀:变量:-默认值}}

  如:

  ${sys:i2cc.base.dir:-${sys:i2cc.base:-/tmp/i2cc}}/logs

三、测试

  在idea Run/Debug Configurations中VM options中先后配置-Di2cc.base.dir=/tmp/a/ 和-Di2cc.base=/tmp/b/及不配置

  

技术分享图片
1 public class FunctionTest {
2     private static final Logger logger = LogManager.getLogger(FunctionTest.class);
3     public static void main(String[] args){
4         logger.error("asdfasdf");
5     }
6 }
View Code

四、结果

  启动程序后,日志将分别写到

# -Di2cc.base.dir=/tmp/a/

/tmp/a/

# -Di2cc.base=/tmp/b/

/tmp/b/

# 不配置

/tmp/i2cc

log4j配置获取系统属性及默认值

原文:https://www.cnblogs.com/kwing0117/p/11428842.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!