提问人:B.J 提问时间:8/29/2023 更新时间:8/29/2023 访问量:39
如何在 log4j2.xml 文件中引用 Ansible 变量
How can I refer to an Ansible variable in log4j2.xml file
问:
我的目标是定义将放置日志文件的目录路径。此配置应在 log4j2.xml 文件中完成。此路径的值可以通过 Ansible 变量设置(如果在 Ansible Tower 模板的额外变量中设置),如果未设置,我应该默认为系统属性,该属性肯定会被设置 -> sys:log.dir
到目前为止,我已经尝试了以下表达式:
第一次尝试:
fileName="{{ pa_logs_dir | default(${sys:log.dir}) }}/log/file.log"
第二次尝试:
<Properties>
<Property name="LOG_DIR">${pa_logs_dir:-${sys:log.dir}}</Property>
</Properties>
fileName="${LOG_DIR}/log/file.log"
第三次尝试:
<Properties>
<Property name="LOG_DIR">${sys:pa_logs_dir:-${sys:log.dir}}</Property>
</Properties>
fileName="${LOG_DIR}/log/file.log"
在这两种情况下,和处的 /log/file.log 应该相同。
第一次尝试产生了错误,第二次和第三次尝试编译成功,但是如果我在 Ansible 模板的额外变量中设置了pa_logs_dir变量,不幸的是,它不会被接受。
任何帮助将不胜感激,提前致谢!
答: 暂无答案
评论
pa_logs_dir
<Property name="LOG_DIR">${sys:log.dir}</Property>
<Property name="LOG_DIR">actual_value_of_the_variable_sys:log.dir</Property>
<Property name="LOG_DIR">{{ pa_logs_dir | default('${sys:log.dir}') }}</Property>
sys:log.dir