我注意到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]
,但如果为false,则不显示任何内容。
有更简单的方法吗?谢谢!