Logback 系列(3):三大核心组件 Logger / Appender / Encoder

本系列第 3 篇。理解这三者的关系,Logback 就懂了一大半。

一张图理清关系

复制代码
应用代码 → Logger(决定"要不要记")→ Appender(决定"记到哪")→ Encoder(决定"记成什么样")
  • Logger(记录器):按名字(通常是类的全限定名)组织,负责判断级别、把日志事件转交给 Appender。
  • Appender(输出源):日志的"出口"。控制台、文件、数据库、Kafka......一个 Logger 可以挂多个 Appender。
  • Encoder / Layout(编码器/布局):把日志事件格式化成最终文本(或 JSON)。现在推荐用 Encoder。

对应到 XML

xml 复制代码
<appender name="STDOUT" class="...ConsoleAppender">   <!-- Appender -->
    <encoder>                                         <!-- Encoder -->
        <pattern>%d ... %msg%n</pattern>              <!-- Pattern -->
    </encoder>
</appender>

<root level="info">                                    <!-- Logger(根) -->
    <appender-ref ref="STDOUT"/>                       <!-- Logger 挂 Appender -->
</root>

记忆口诀

  • Logger 管"记不记"(级别过滤)
  • Appender 管"记哪去"(输出目的地)
  • Encoder 管"长啥样"(格式化)

三者是流水线关系:一条日志先过 Logger 的级别判断,再交给它挂的每个 Appender,每个 Appender 用自己的 Encoder 格式化后输出。


上一篇:SLF4J 与 Logback

下一篇:日志级别与继承(additivity)

相关推荐
nike0good2 分钟前
CF 126B(Password-z algorithm/exkmp)
开发语言·c++·算法
隔窗听雨眠8 分钟前
CI/CD测试数据清理完全指南:从污染根因到三层清理覆盖的完整方案
java·数据库·ci/cd
Query*13 分钟前
Agent 开发之项目 AI 能力自我进化:通过浏览器自动化与数据采集实现持续学习
java·人工智能·ai·自动化
huaweichenai18 分钟前
PHP实现对接MQTT协议
开发语言·php
牧羊人.33322 分钟前
动手学深度学习 01:核心组件与完整训练流程
开发语言·人工智能·深度学习
晓晓_za89866824 分钟前
GEO 搜索源码白帽合规改造:适配各大 AI 信源收录规则
java·开发语言·人工智能·性能优化·开源
Haooog25 分钟前
从 Tool Calling 到 State 并发控制:一个 Agent 如何安全地连续执行任务
java·agent·后端开发
一条破秋裤36 分钟前
C-数据类型
c语言·开发语言·chrome
君顾141 分钟前
从0到1课后辅导管理系统开发实战:需求文档、架构设计全复盘
java·开发语言
神仙别闹42 分钟前
基于C++ MFC RSA 实现加密程序
开发语言·c++·mfc