Logback 自定义参数详解

掌握 Logback 中灵活的日志参数配置方法,提升 Java 应用可观测性

什么是 Logback 自定义参数?

Logback 是 Java 社区广泛使用的日志框架之一,基于 SLF4J 接口实现。 在实际开发中,我们经常需要在日志中动态插入业务相关的信息(如用户ID、请求ID等), 这些信息通常不是固定写死的,而是运行时动态获取的 —— 这就是“自定义参数”的典型应用场景。

常用方式一:MDC(Mapped Diagnostic Context)

MDC 允许你在多线程环境中为每个线程绑定上下文信息,并在日志输出中引用。

// 设置 MDC
MDC.put("userId", "12345");
MDC.put("requestId", UUID.randomUUID().toString());

// 日志中使用 %X{key}
logger.info("处理用户请求");

// 清理(建议在 Filter 或 try-finally 中)
MDC.clear();

在 logback.xml 中配置:

<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - userId=%X{userId} requestId=%X{requestId} - %msg%n</pattern>

方式二:自定义转换词(Converter)

通过继承 ClassicConverter 实现更复杂的动态字段。

public class CustomParamConverter extends ClassicConverter {
    @Override
    public String convert(ILoggingEvent event) {
        // 例如从 Spring Security 获取当前用户名
        return Optional.ofNullable(SecurityContextHolder.getContext().getAuthentication())
                       .map(Authentication::getName)
                       .orElse("anonymous");
    }
}

注册到 logback.xml:

<conversionRule conversionWord="user" 
                   converterClass="com.example.CustomParamConverter" />

<pattern>%d %user - %msg%n</pattern>

注意事项

Icancook中文-轻松学做菜,美味每一天 BlackBrown什么档次?品牌定位与用户评价全解析 Think Back to Something-回忆与思考的专题页面 BodyAttack百度云资源下载|高清课程合集 黑猴子7LONGWEN-BlackMonkey游戏|78TP网站 comb 音标发音详解|英语单词音标学习指南 Back Row 是什么意思?全面解析与使用场景 accompany翻译-中英文释义、例句与用法详解 《Comeback 救赎》MP3 下载与歌词解析-经典音乐专题 Backstairs-探索隐秘通道与幕后故事 Kakao集团-韩国领先的互联网与科技企业 layback和反拍技巧详解-滑板/滑雪/滑板车进阶动作指南 Went Back-回忆、回溯与重新出发 Backbone怎么读-发音、释义与用法详解 回顾 Look Back To-铭记过去,展望未来 The Block Method:高效写作与思维整理技巧 Blackmail 高英译文|英文学习与翻译参考 Blackcrows 与 始祖鸟(Arc'teryx)品牌对比指南-户外滑雪装备精选 All Black 翻译-全黑风格的含义与用法详解 Boom音译-爆炸声、拟声词与创意表达指南 人物介绍模板-快速创建个人简介页面 Combo音箱选购指南与使用技巧-高性价比一体式音响推荐 TopCashback中文版-返现购物指南与使用教程 An Alarm Clock 翻译-在线闹钟工具与使用指南 Mock派生词详解-常见用法、例句与词源解析 BlackC色卡-专业黑色系色彩参考指南 MikeBlack翻译成中文-名字含义与翻译指南 “Blackmail”一词的由来与历史演变-语言文化专题 Sit Back-放松身心,享受慢生活 nanoblock7LONGWEN入口-78TP网站及产品信息指南 getoffmyback翻译-中文意思、用法详解与例句 Blockmap 删了?原因解析与替代方案指南 Blackedition翻译-专业本地化与多语言翻译服务 BlackGateOne-专注数字安全与高效办公解决方案 Work Back 是什么意思?全面解析与使用场景 Blockof-极简模块化内容展示专题页 Colombo羊绒大衣-意大利匠心工艺,温暖与优雅的完美结合 “back”有几个音节?英语发音知识详解 Blackmail课文原文及翻译-英语学习专题 Back Up 与 Back Off:含义、用法与实用指南 Accustom to 用法详解与例句|英语学习专题 Tomcat有什么用?Apache Tomcat功能与应用场景详解 Remark On-深度评论与观点分享平台 JackInTheBox中国-78TP资讯与本地化服务指南 Rolling Backpack 专题指南-轻松出行的智能背包选择 Bodycam苹果下载-iPhone版Bodycam应用78TP下载指南 Black的同义词大全-常用近义词与表达方式汇总 Blacksouls尘海在哪?位置详解与获取指南 To the Moon and Back-探索星辰与归途 Backpack中文意思-背包的定义、用法与常见表达 BloodBank33话-精选漫画专题页面 Blacksouls1萌娘百科-角色设定、剧情解析与玩家指南 come back 和 back from 的区别详解|英语语法专题 Blackmail(勒索)防范与应对指南-安全专题 Black Souls 2 全地图指南-地图详解与探索路线 Konabess 教程-入门到精通的完整指南 Chichaboom品牌7LONGWEN-创意与品质的完美融合 MockLocation破解版下载与使用指南-安全模拟定位工具 Blackmagic 中文叫什么?全面解析品牌名称与产品 Backlook-回顾过去,洞察未来 打开网页 blankblocked-解决方法与使用指南 Block是啥品牌?全面解析Block品牌背景与产品 Matlab反向传播神经网络测试指南-原理、示例与实践 Mock服务器搭建指南-快速入门与实用教程 Never Get Me Back-专属情感专题页 Mockvoid方法详解-JavaScript开发技巧指南 BlackMaca是什么药?功效、副作用与使用指南 Leatherback 海龟专题|了解濒危的棱皮龟 Blacksouls 等级上限详解-最高等级与经验机制指南 blocks读音-英文单词“blocks”发音、释义与用法详解 Crossmark是期刊名字吗?全面解析Crossmark标识的含义与用途 Koonumba是什么牌子?品牌介绍与产品信息 Wacom中国-专业数位板与创意设备78TP指南 Come Back Early-温馨提醒与生活指南 Blacksouls冰结魔弹-游戏技能详解与使用指南 BlackArmor7LONGWEN入口登录-安全可靠的数字防护平台 crankbrothers 自行车踏板与配件78TP指南|高性能骑行体验 come back 和 go back 的区别详解|英语语法专题 Jackbox第一关攻略与玩法指南-快速上手教程 微信“block”是什么意思?全面解析与使用指南 Block B 专题页面|韩国人气男子组合介绍 Mock音标学习指南-英语音标发音入门与练习 Blackboard下载安卓版-安卓手机免费安装指南 Boomclap是什么意思?中文解释与用法详解 Black Orchid 香水-黑色兰花的神秘魅力|香水专题指南 Blacksouls2 武器图鉴与使用指南-全面解析最强武器搭配 all black是什么?全面解析“全黑穿搭”潮流文化 mockplan什么意思?全面解析与使用指南 MakeYourBook 翻译-在线文档翻译与协作平台 I'm Never Going Back-告别过去,拥抱新生 BlackDiamond是什么?全面解析BlackDiamond的含义与用途 Black-ColorboxV9-极简黑盒工具集 So Hot BLACKPINK-韩国顶级女团BLACKPINK热门资讯与音乐专题 MarkBose中文叫什么?品牌名称解析与常见误区 Keep Come-持续前行,永不停歇 Make or Break 是什么意思?详解与用法示例 Mark to Market(逐日盯市)详解-金融风险管理核心机制 KidABC 英语-儿童英语启蒙学习平台 专注力提升指南|如何高效集中注意力 “Comes back”是什么意思?英文短语详解与用法指南