【发布时间】:2018-07-01 06:03:51
【问题描述】:
我的应用程序有多个环境 (dev/qa/prod)。因此,我想根据环境来区分日志转换模式。我有一个 env 变量集,它存储应用程序正在运行它的环境。但是,如何让 log4j.properties 读取这个环境变量?
这是我当前的属性文件的样子:
log4j.rootLogger = INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= [%d{yyyy-MM-dd HH:mm:ss}] my-api.%-5p: %m%n
我已尝试遵循 log4j 查找文档,但这仍然不包括我的日志文件中的环境。
log4j.appender.stdout.layout.ConversionPattern= [%d{yyyy-MM-dd
HH:mm:ss}] ${env:ENVIRONMENT}-my-api.%-5p: %m%n
输出如下所示:
[2018-01-22 14:17:20] -my-api.INFO : some-message.
但我希望它看起来像这样:
[2018-01-22 14:17:20] dev-my-api.INFO : some-message.
【问题讨论】:
-
什么版本的 log4j?
-
我使用的是版本:1.2.17。
-
我尝试了 22296275 中的建议,但这并没有解决我的问题。
标签: apache logging clojure log4j