我在同一台服务器上运行了同一个WAR的多个副本。我想通过在application.properties
中指定前缀来为每个日志文件配置一组不同的日志文件。无法弄清楚如何在log4j2.xml
中解决此值。查找sys
和env
是全局的,不适合。试图通过向ThreadContext添加前缀来使ctx
工作,但似乎无法尽早完成它以获取。
这有可能吗?
application.properties:
logfile.prefix=xyz
log4j2.xml:
<rollingfile name="file" filename="${sys:app.root}/logs/${???:logfile.prefix}-sm.log"
filepattern="${sys:app.root}/logs/${???:logfile.prefix}-sm-%i.log.gz">
...
</rollingfile>
<rollingfile name="file" filename="${sys:app.root}/logs/${???:logfile.prefix}-db.log"
filepattern="${sys:app.root}/logs/${???:logfile.prefix}-db-%i.log.gz">
...
</rollingfile>
... more appenders similar to these, with different filenames