我在log4j2.xml文件中定义了一个RollingFile Appender。
<RollingFile name="RollingFile" fileName="/logs/app.log"
filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<Pattern>%d{HH:mm:ss.SSS} - %-5p - %m - [%l]%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
</RollingFile>
我想要做的是在启动时将此参数传递给JVM:
我希望做的是将这个参数传递给JVM。
-Dapp_home=/home/admin/server
这份文档非常直观。我理解的是它应该像这样工作:
<RollingFile name="RollingFile" fileName="${jvmrunargs:app_home}/logs/app.log"
但是它并没有。我通过使用绝对路径来验证它通常工作。
在另一个我使用log4j(1.x)的应用程序中,它可以像这样工作:
log4j.appender.file.File=${app_home}/logs/app.log