我注意到 Logback 有评估者。我只想包含一个 MDC 字段,如果它存在的话。例如,假设我声明了这个评估器:
<evaluator name="UID_EVAL">
<expression>
if(mdc == null || mdc.get("uid") == null) {
return false;
} else {
return true;
}
</expression>
</evaluator>
然后在模式中,如果该评估者为真,我只想包含该标签:
<pattern>%eval([uid:%mdc{uid}], UID_EVAL) ...more stuff...</pattern>
注意上面的代码不起作用
所以基本上,如果 UID_EVAL 为真,[UID:a string from mdc]
就会出现,但如果为假,则什么也不会出现。
有没有更简单的方法?谢谢!