在log4j1.x版本如果想获取如下的JVM启动参数
Dlog.path.prefix=/export/home/tomcat/logs/apps/myApp -Ddeploy.project.id=2856 -Ddeploy.app.id=370 -Ddeploy.app.name=myApp
其中log.path.prefix是需要配置在log4j日志路径中的,在1.x版本可以使用${log.path.prefix}来获取如下:
log4j.appender.file.File=${log.path.prefix}/my_log.log
但是在log4j2.x版本中这样是获取不到路径的,正确的方法是:
${sys:log.path.prefix}
完整的线上的log4j2.xml配置如下,可参考:
${sys:log.path.prefix}
/app_log.log
app-%d{MM-dd-yyyy}-%i.log
/err.log
app-err-%d{MM-dd-yyyy}-%i.log
filePattern="${LOG_HOME}/${BACKUP_INFO_NAME}">
filePattern="${LOG_HOME}/${BACKUP_ERROR_NAME}">
关于各种路径的获取方式,详情参考官方文档: