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

How to use environment variables in org.ops4j.pax.logging.cfg?

我在 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。

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

工作示例应如下所示:

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