logback-MDC

相当于自定义日志格式输出

写在过滤器中

示例:

           try {
Context context = createContext(request, response);
processSysNo(request, response, context);
processSeqNo(request, response, context);
processTraceId(request, response, context);
MDC.put("systemName",context.getSysNo());
if (!StringUtils.isEmpty(context.getReqSeqNo())){
MDC.put("serialNum",context.getReqSeqNo());
}else {
MDC.put("serialNum",context.getSeqNo());
}
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
// 进程
MDC.put("process",runtimeMXBean.getName());
log.debug(context.toString());
chain.doFilter(request, response);
} finally {
removeContext(request, response);
// 避免线程泄漏
MDC.clear();
}

在logback.xml中配置引入

%X{process}
%X{systemName}
[时间戳] | 日志级别 | 所属系统或子系统 | traceId | spanId | 全局流水号 | 进程号 | 线程号 | 源码文件名:行号 | 日志内容
<pattern>[%d{yyyy-MM-dd HH:mm:ss}] | %-5level | %X{systemName} | %X{X-B3-TraceId:-} | %X{X-B3-SpanId:-} | %X{serialNum} | %X{process} | %thread | %class:%line | %msg%n</pattern>

logback中使用MDC自定义日志输出格式的更多相关文章

  1. 【日志追踪】(微服务应用和单体应用)-logback中的MDC机制

    一.MDC介绍 MDC(Mapped Diagnostic Contexts)映射诊断上下文,该特征是logback提供的一种方便在多线程条件下的记录日志的功能, 某些应用程序采用多线程的方式来处理多 ...

  2. Logback中使用TurboFilter实现日志级别等内容的动态修改

    可能看到这个标题,读者会问:要修改日志的级别,不是直接修改log.xxx就好了吗?为何要搞那么复杂呢?所以,先说一下场景,为什么要通过TurboFilter去动态的修改日志级别.我们在使用Java开发 ...

  3. LogBack sl4j 通过MDC实现日志记录区分用户Session[以Spring mvc为例]

    1.首先实现一个interceptor,在请求开始的时候MDC put一个Session标志,interceptor结束的时候remove掉   import javax.servlet.http.H ...

  4. Windows server2012 IIs 8 自定义日志记录

    问题: 通过CDN加速的网站,记录日志时无法追踪源IP,日志的IP都为CDN节点ip. 分析: 1.在解析记录header时,CDN实际会把源IP以其它header的形式回传,如网宿为[Cdn-Src ...

  5. Asp.net Vnext 自定义日志

    概述 本文已经同步到<Asp.net Vnext 系列教程 >中] 可以通过自定义日志,把错误消息记录到数据库 实现 在启动文件Startup Configure方法中加入自定义的日志提供 ...

  6. 如何在golang中打印grpc详细日志

    最近捣鼓fabric,在一个tls证书问题上纠结挺久,连接orderer服务时候,grpc日志总是冷冰冰的显示这个信息 Orderer Client Status Code: (2) CONNECTI ...

  7. Logback中如何自定义灵活的日志过滤规则

    当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现.在Logback中自带了两个过滤器实现:ch.qos.logback.classic ...

  8. Logback自定义日志输出内容

    场景 一般情况下,日志打印的内容都是根据配置文件中配置的pattern格式指定好的.在我们调用logger.info(), logger.debug()等日志打印方法时,打印的内容格式与配置文件中的p ...

  9. idea中的Storm1.1.1工程自定义日志级别

    在idea中跑storm工程时,因为Storm中的日志级级别默认为INFO,控制台总是打印出很多没用的INFO级别的日志,导致我自己在代码中的sout内容看不清楚. 于是想着自定义日志的打印级别为WA ...

  10. logback的使用和logback.xml详解,在Spring项目中使用log打印日志

    logback的使用和logback.xml详解 一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分 ...

随机推荐

  1. [转帖]龙芯 vs 飞腾:各种测试数据看国产CPU水平

    https://zhuanlan.zhihu.com/p/99921594 2019年年末,龙芯.飞腾两大国产CPU巨头更是相继组织了规模宏大的年会,发布了新型桌面芯片及其整机产品,顿时硝烟四起.各大 ...

  2. PG13 离线安装的简单办法

    1. 发现上班时间公司的网络几乎不可用 还是得找时间下载好离线包才可以. 找了一个最简单的办法 地址 https://yum.postgresql.org/ 选择版本 这次我选择最新的 继续之后继续选 ...

  3. docker的架构及工作原理(详解)

    目录 一.docker架构图 二.Client 客户端 三.Host 主机(docker引擎) 四.Image 镜像 五.Container 容器 六.镜像分层 可写的容器层 七.Volume 数据卷 ...

  4. 微信小程序-页面跳转Tabbar

    官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabBar 首先我们 ...

  5. 事务提交之后再执行某些操作 → 引发对 TransactionSynchronizationManager 的探究

    开心一刻 昨晚,小妹跟我妈聊天 小妹:妈,跟你商量个事,我想换车,资助我点呀 妈:哎呀,你那分扣的攒一堆都够考清华的,还换车资助点,有车开就不错了 小妹:你要是这么逼我,别说哪天我去学人家傍大款啊 妈 ...

  6. DDR5能给PC带来怎样提升?我们用12款软件进行了对比测试

    结论前置:我们使用了12款专业测试软件,分别对DDR5与DDR4内存,在相同平台下进行了测试体验:酷睿i9-12900K搭配DDR4与DDR5,总体差距并不是很大:在y-cruncher测试中,DDR ...

  7. 如何快速提高英飞凌单片机编译器 TASKING TriCore Eclipse IDE 编译速度

    1.前言 使用英飞凌单片机编译器 TASKING TriCore Eclipse IDE 开发编译时,想必感受最深刻的就是编译速度,那是非常慢了,如果是部分修改的源文件编译还好,不用等太久,而如果选择 ...

  8. 单片机 IAP 功能基础开发篇之APP升级(二)

    1.前言 上一篇单片机 IAP 功能基础开发篇之APP升级(一)讲到了单片机 IAP 功能给 APP 程序升级的设计思路,这篇介绍的是具体实现方式. 下一篇单片机 IAP 功能基础开发篇之APP升级( ...

  9. CF1853

    你谷的加题速度实在太慢了 被 CF 的题目薄纱 A 可以选任意次 \(i\in [1,n]\),使 \(a[1\sim i]++,a[i+1\sim n]--\).求最少操作次数使得原数列变成非从小到 ...

  10. nginx做白名单和限流

    ​ 在我们生产环境中使用到了地图服务,每个月有免费请求次数,近一个月请求次数突然暴涨,导致直接开启付费模式,一个月上百刀的花销着实难扛,根据实际我们的业务使用情况,远达不到付费标准,故考虑做白名单和限 ...