这是我对“ 在SLF4J /Logback中使用标记的最佳实践
”问题的回答的重新版本。
标记可用于为 单个 log语句 着色 或标记。这些颜色(即标记)的处理完全取决于您。但是,标记使用似乎有两种模式很常见。 __
触发 :可以指示某些附加程序在存在特定标记的情况下采取措施。例如,
SMTPAppender
可以配置为每当用NOTIFY_ADMIN
标记标记日志事件时发送电子邮件,而与日志级别无关。请参阅注销文档中的基于标记的触发。您也可以结合日志级别和标记进行触发。过滤 :标记对于使某些有价值的日志语句脱颖而出非常有用。例如,您可以使用颜色“ DB”为所有与持久性相关的日志(在各种和多个类文件中)着色/标记。然后,您可以筛选“ DB”:禁用日志记录,但标有DB的日志语句除外。有关更多信息,请参阅登录文档中有关过滤器的章节(搜索MarkerFilter)。请注意,不仅可以通过登录来执行标记过滤,还可以使用日志分析工具来执行。
在标记出现之前,要实现类似的行为,您可以选择1)使用自定义级别2)使用修改的记录器名称。SLF4J
API当前不支持自定义级别。对于选项2,如果需要修改一个或两个记录器,则可以使用后缀(或前缀)记录器名称。一旦需要对3个或更多记录器进行“子分类”,该方法就变得不切实际,因为相关的配置文件变得难以管理。
即使单个标记可能已经非常有用,但SLF4J的下一版本(即2.0版)将在每个log语句中允许多个标记。



