作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于 MapFilters 的简单问题。好吧,我知道映射是什么:简单的键值对。现在 log4j 允许通过(来自网站的示例)过滤所谓的 map 消息:
<MapFilter onMatch="ACCEPT" onMismatch="DENY" operator="or">
<KeyValuePair key="eventId" value="Login"/>
<KeyValuePair key="eventId" value="Logout"/>
</MapFilter>
但是我应该在代码中的什么地方定义这些消息呢?我试过:
MapMessage mm = new MapMessage();
mm.put("eventId", "Login");
logger.exit(mm);
但这不是处理此问题的便捷方法,顺便说一句:它不起作用。
你知道关于这个主题的更详细的介绍吗? API 在这里并没有真正帮助我。
谢谢大家!
最佳答案
我在配置 MapFilter
时遇到了上述问题。ThreadContextMapFilter
以类似的方式工作,但在那种情况下,我们必须填充 ThreadContext
映射,一切正常。ThreadContextMapFilter
成功的原因是 ThreadContext
映射是基于上下文的,它对同一上下文中的所有日志事件都有效,但是 MapFilter
它基于 MapMessage
工作,但它不是基于上下文 (MapMessage) 而是基于事件,因此对于每个日志记录事件,我们都必须将 MapMessage
作为参数传递给 MapFilter
工作。
相关配置及代码:
<configuration status="WARN" name="abcd">
<properties/>
<MapFilter onMatch="ACCEPT" onMismatch="DENY">
<KeyValuePair key="Mic" value="Mic123"/>
</MapFilter>
...........
........... <<Put other relevant configurations here>>
</configuration>
Java代码:
public static void main(String args[]) {
MapMessage mapMessage = new MapMessage();
mapMessage.put("Mic", "Mic123");
log4j2Tester.logger.debug(mapMessage,new Exception("Okies"));
log4j2Tester.logger.debug(mapMessage);
}
在上面的代码中,log4j2Tester
是我的独立类的对象,logger
是配置的记录器。
希望这篇文章能解决您的问题。快乐编码。
关于Java 包 Log4J2 : MapFilters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768549/
我有一个关于 MapFilters 的简单问题。好吧,我知道映射是什么:简单的键值对。现在 log4j 允许通过(来自网站的示例)过滤所谓的 map 消息: 但是我应该
我是一名优秀的程序员,十分优秀!