Java日志框架中的标记是什么?使用它们的原因是什么?
我第一次听说马克是在阅读时: 我检查了记录器对象的可用方法:Java日志框架中的标记是什么?使用它们的原因是什么?,java,logging,log4j,slf4j,logback,Java,Logging,Log4j,Slf4j,Logback,我第一次听说马克是在阅读时: 我检查了记录器对象的可用方法: 并找到了接口: 我从以下网站获得了更深入的信息: 但是我还是很困惑。。。请注意,我问的是为什么,而不是如何使用它们,因此这不是以下内容的副本: 更新似乎当您使用标记时,还需要编写自定义Java代码,而不是在XML或.property文件中进行配置 更新2自 这是对问题“”的重新解释 标记可用于为单个日志语句着色或标记。如何处理这些颜色,即标记,完全取决于您。然而,两种模式对于标记的使用似乎很常见 触发:可
这是对问题“”的重新解释 标记可用于为单个日志语句着色或标记。如何处理这些颜色,即标记,完全取决于您。然而,两种模式对于标记的使用似乎很常见
SMTPAppender
可以配置为在日志事件被标记为NOTIFY\u ADMIN
标记时发送电子邮件,而不管日志级别如何。请参阅logback文档中的。您还可以将日志级别和标记结合起来进行触发尽管单个标记已经非常有用,但SLF4J的下一个版本,即2.0版,将允许每个日志语句使用多个标记 要使用标记,您需要使用SLF4J提供的标记API。这就是你所说的“自定义Java代码”吗?@Ceki似乎仅仅使用Logger.warn(Marker,msg)并没有给你带来任何好处,直到你为过滤器编写自定义类并注册它们。。。logback.xml的普通语法没有处理标记的特殊能力(只需按%Marker打印它们)。在这里显示的内容中,您发现了什么“特殊”?@Ceki感谢您的观点!这是唯一一个可以使用标记的地方吗?@Ceki现在我们使用Elasticsearch,这是标记特殊事件的方法。我们将预定义的标记保存在专用类中以供重用。当你只是在文本日志上使用
grep
时,它并不明显。也可以用于判别
Marker notifyAdmin = MarkerFactory.getMarker("NOTIFY_ADMIN");
logger.error(notifyAdmin,
"This is a serious an error requiring the admin's attention",
new Exception("Just testing"));