提到的log4j2文件读取env属性我们必须使用$${env:USERNAME}
我发现单${env:USERNAME}
的{{1}}仍在使用。
有人知道我们为什么要使用$
?!
答案 0 :(得分:1)
从http://logging.apache.org/log4j/2.x/manual/configuration.html手册页:
StrLookup处理的一个有趣特性是当一个变量 引用声明为多个前导' $'每次都是人物 变量解决了领先的' $'简单地删除。在里面 前面的例子"路线"元素能够解决 变量在运行时。为此,前缀值指定为a 变量有两个领先' $'字符。配置文件时 首先处理第一个变量就是简单地删除。因此,何时 Routes元素在运行时被评估它是变量 声明" $ {sd:type}"这导致事件被检查a StructuredDataMessage,如果存在其类型的值 要用作路由键的属性。并非所有元素都支持 在运行时解析变量。具体做的组件 在他们的文档中说出来。