拓展阅读
分布式链路追踪-05-mdc 等信息如何跨线程? Log4j2 与 logback 的实现方式
日志开源组件(一)java 注解结合 spring aop 实现自动输出日志
日志开源组件(二)注解结合 spring aop 实现日志traceId唯一标识
日志开源组件(三)java 注解结合 spring aop 自动输出日志新增拦截器与过滤器
日志开源组件(四)如何动态修改 spring aop 切面信息?让自动日志输出框架更好用
日志开源组件(五)如何将 dubbo filter 拦截器原理运用到日志拦截器中?
日志开源组件(六)Adaptive Sampling 自适应采样
常见日志组件对比
特性/组件 | java.util.logging | Log4j | Logback | SLF4J | Commons Logging | Tinylog | Slf4j简化版 | Micrometer | Log4j2 |
---|---|---|---|---|---|---|---|---|---|
异步日志 | 否 | 是 | 是 | 部分支持(取决于实现) | 部分支持(取决于实现) | 是 | 是 | 部分支持 | 是 |
插件架构 | 否 | 是 | 部分支持 | 否 | 否 | 否 | 否 | 否 | 是 |
配置文件格式 | 配置属性文件(.properties) | XML, JSON, YAML | XML | N/A | N/A | Properties | Properties | 配置属性文件(.properties) | XML, JSON, YAML |
灵活配置 | 有限 | 是 | 是 | 是 | 是 | 是 | 是 | 部分支持 | 是 |
性能 | 适中 | 良好 | 优秀 | 适中 | 适中 | 良好 | 适中 | 适中 | 优秀 |
适用范围 | 基本 | 大型应用程序,复杂配置 | 大型应用程序 | 通用 | 通用 | 小型到中型应用 | 简单应用,小型项目 | 度量和监控 | 大型应用程序 |
支持级别 | 有限 | 丰富 | 丰富 | 丰富 | 丰富 | 有限 | 有限 | 有限 | 丰富 |
ContextMap | 无 | ThreadContext Map | MDC | MDC | N/A | N/A | N/A | N/A | ThreadContext Map |
SLF4J整合 | 无 | 支持 | 支持 | N/A | 支持 | N/A | 支持 | 支持 | 支持 |
社区活跃度 | N/A | 高 | 高 | 高 | 低 | 中 | 低 | 高 | 高 |