我有一个抑制重复消息的过滤器,如果在z秒内在y秒内看到的消息超过x次。使用log4j,一旦达到阈值,我就会将事件范围的MDC属性放入其中,例如:
event.setProperty( "prefix", suppressProlog );
在我的布局中,我使用了这种模式:
<param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS z}] %p %t %c %X{prefix} %m%n" />
由于此属性仅限于当前事件,我不必担心清理。 使用log4j2,事件链接属性似乎消失了。我如何实现与log4j相同的行为?
以下是我认为可能的解决方案,但没有一个对我很有吸引力:
具有过滤器影响的预期模式是什么?日志输出?
答案 0 :(得分:0)
LoggerEvent的源代码显示,在getProperty和setProperty方法的引擎下,它使用MDC来存储和获取属性。
新类LogEvent具有 映射getContextMap()
这是我的POV的替代品。