如何在org.ops4j.pax.logging.cfg中使用环境变量?

时间:2017-05-19 15:11:39

标签: java logging environment-variables pax

我在Felix容器中使用Pax Logging,因为使用动态加载的属性文件org.ops4j.pax.logging.cfg配置记录器的工具看起来很吸引人。

但是,我无法使用sister question about Log4j中所述的环境查找。我注意到Pax Logging已经复制了一大块Log4j。是否也支持环境查找?

我期望工作的例子是:

log4j.appender.rolling = org.apache.log4j.DailyZipRollingFileAppender
log4j.appender.rolling.file = log/equinox-${sys:USERNAME}.log

我希望创建文件equinox-myuser.log,而不是equinox-.log。所以似乎某些引擎试图解析变量,但失败了。测试是在Windows下启动的,因此存在变量USERNAME。

1 个答案:

答案 0 :(得分:1)

Ops4j使用env:前缀而不是sys:前缀。

工作样本应如下所示:

log4j.appender.rolling.file = log/equinox-${env:USERNAME}.log