Logback 系列(4):日志级别与继承(additivity)
本系列第 4 篇。讲清楚日志级别以及一个高频坑——日志重复打印。日志级别从低到高TRACE DEBUG INFO WARN ERROR设置levelINFO则 INFO 及以上INFO/WARN/ERROR都会输出DEBUG/TRACE 被过滤。Logger 的层级继承Logger 按包名形成树状继承。com.lenovo.sdms是com.lenovo.sdms.order的父级。子 Logger 没显式配级别就继承父级的级别。顶层是root所有 Logger 的最终祖先。additivity可加性—— 高频坑一条日志默认会向上传递给所有祖先 Logger 的 Appender可能导致重复打印。用additivityfalse切断向上传递!-- 只让这个 logger 打到 FILE不再向上传给 root --loggernamecom.github.danielwegener.logback.kafkalevelERRORadditivityfalseappender-refrefFILE//logger如果不加additivityfalse它的日志既会打到自己的 FILE又会再传给 root 打一遍 —— 于是你会看到日志出现两次。排查“日志打印两遍”的思路看这个包/类有没有单独配logger且挂了 Appender。看它挂的 Appender 是否和 root 的 Appender 重复。重复了就给这个logger加additivityfalse。上一篇三大核心组件下一篇配置文件详解