Logback 系列(3):三大核心组件 Logger / Appender / Encoder
本系列第 3 篇。理解这三者的关系Logback 就懂了一大半。一张图理清关系应用代码 → Logger决定要不要记→ Appender决定记到哪→ Encoder决定记成什么样Logger记录器按名字通常是类的全限定名组织负责判断级别、把日志事件转交给 Appender。Appender输出源日志的“出口”。控制台、文件、数据库、Kafka……一个 Logger 可以挂多个 Appender。Encoder / Layout编码器/布局把日志事件格式化成最终文本或 JSON。现在推荐用 Encoder。对应到 XMLappendernameSTDOUTclass...ConsoleAppender!-- Appender --encoder!-- Encoder --pattern%d ... %msg%n/pattern!-- Pattern --/encoder/appenderrootlevelinfo!-- Logger根 --appender-refrefSTDOUT/!-- Logger 挂 Appender --/root记忆口诀Logger 管“记不记”级别过滤Appender 管“记哪去”输出目的地Encoder 管“长啥样”格式化三者是流水线关系一条日志先过 Logger 的级别判断再交给它挂的每个 Appender每个 Appender 用自己的 Encoder 格式化后输出。上一篇SLF4J 与 Logback下一篇日志级别与继承additivity