2014-12-27 59 views
2

提到阅读ENV属性的log4j2文件中,我们必须使用$${env:USERNAME}log4j2访问ENV性能

我发现${env:USERNAME}$仍在工作。

有谁知道我们为什么要用$$?!

回答

1

http://logging.apache.org/log4j/2.x/manual/configuration.html手册页:

StrLookup处理的一个有趣的特点是,当一个变量 基准每次 变量解决前面的“$”宣称与多个领先的“$”字符简单地删除。在前面的示例中,“路径”元素在运行时能够解析变量 。为了允许这个前缀值被指定为具有两个前导'$'字符的 变量。当第一个处理配置文件 时,第一个变量将被简单地删除。因此,当Routes元素在运行时被评估,它是变量 声明“$ {sd:type}”,它导致该事件被检查为一个 StructuredDataMessage,如果有一个存在,它的类型为 属性的值为用作路由密钥。并非所有元素都支持 在运行时解析变量。特别是 的组件会在他们的文档中调用它。