gav*_*koa 95 java logging log4j logback slf4j
我第一次听到标记时读到:
我检查Logger对象的可用方法:
并找到接口:
我得到的更深入的信息:
但仍然困惑...请注意,我问为什么,而不是如何使用它们,所以这不是重复:
更新似乎在使用标记时,您还需要编写自定义Java代码,而不是在XML或.property文件中进行配置...
更新2来自http://logback.qos.ch/manual/appenders.html#OnMarkerEvaluator
Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN");
logger.error(notifyAdmin,
"This is a serious an error requiring the admin's attention",
new Exception("Just testing"));
Run Code Online (Sandbox Code Playgroud)
Cek*_*eki 103
这是一个重新发布的版本我对" 在SLF4J/Logback中使用标记的最佳实践 "这一问题的回答.
标记可用于着色或标记单个日志语句.你用这些颜色做什么,即标记,完全取决于你.然而,对于标记使用,两种模式似乎是常见的(第一种比第二种更常见).
触发:可以指示一些appender在某个标记存在的情况下采取行动.例如,SMTPAppender
可以配置为每当使用NOTIFY_ADMIN
标记标记日志记录事件时发送电子邮件,而不管日志级别如何.请参阅logback文档中基于标记的触发.您还可以组合日志级别和标记以进行触发.
过滤:例如,您可以使用颜色"DB"对所有与持久性相关的日志(在各种和多个类文件中)进行颜色/标记.然后,您可以过滤"DB":禁用日志记录,但标记为DB的日志语句除外.有关详细信息,请参阅logback文档中有关过滤器的章节(搜索MarkerFilter).
在Markers出现之前,要实现类似的行为,您可以选择1)使用自定义级别2)使用修改后的记录器名称.SLF4J API目前不支持自定义级别.对于选项2,如果需要修改一个或两个记录器,则后缀(或前缀)记录器名称是可行的.这种方法变得不实用,因为很快就会有3个或更多的记录器被"分类",因为相关的配置文件变得难以管理.