我想弄清楚如何添加一个appender到一个依赖于java系统属性是给定/设置的记录器。如何根据java系统属性有条件地添加log4j2 appender?
所以我们可以说我有一个这样的基本配置:
<Logger name="myLogger" level="info" additivity="false">
<AppenderRef ref="myAppender1" />
<AppenderRef ref="myAppender2" />
</Logger>
所以现在我想找出一个办法,如果我提供一个参数-PaddAppender2有条件只会增加第二个附加目的地。类似这样的:
<Logger name="myLogger" level="info" additivity="false">
<AppenderRef ref="myAppender1" />
<?if (${sys:enableAppender2:-false) == "true"}>
<AppenderRef ref="myAppender2" />
</?if>
</Logger>
我该怎么做?
我知道我可以例如做出一个属性(“日志级别”)这样的(其中,“信息”是默认的,如果没有给出该属性)水平动态:
<Logger name="test" level="${sys:logLevel:-info}" additivity="false">
我看着在documentation for filters,我无法弄清楚。当然,如果过滤器甚至是正确的方式去这里。