logback mdc
来源:互联网 发布:超级玛丽c语言源代码 编辑:程序博客网 时间:2024/05/29 13:34
logback内置的日志字段还是比较少,如果我们需要打印有关业务的更多的内容,包括自定义的一些数据,需要借助logback MDC机制,MDC为“Mapped Diagnostic Context”(映射诊断上下文),即将一些运行时的上下文数据通过logback打印出来;此时我们需要借助org.sl4j.MDC类。
MDC类基本原理其实非常简单,其内部持有一个InheritableThreadLocal实例,用于保存context数据,MDC提供了put/get/clear等几个核心接口,用于操作ThreadLocal中的数据;ThreadLocal中的K-V,可以在logback.xml中声明,最终将会打印在日志中。
- MDC.put("userId",1000);
那么在logback.xml中,即可在layout中通过声明“%X{userId}”来打印此信息。
在使用MDC时需要注意一些问题,这些问题通常也是ThreadLocal引起的,比如我们需要在线程退出之前清除(clear)MDC中的数据;在线程池中使用MDC时,那么需要在子线程退出之前清除数据;可以调用MDC.clear()方法。
今天想在 log 里加上当前机器的 ip,找了一些文档,logback 支持 MDC(Mapped Diagnostic Contexts),可以很容易的把 ip 放到 log 中。
方法:
1. 先在代码中加上一行 MDC.put("ip", InetAddress.getLocalHost().getHostAddress())
2. 然后在 logback 的 pattern 中加上 %X{ip} 即可
阅读全文
0 0
- logback mdc
- Logback中的MDC
- logback的MDC简单实用
- MDC
- Slf4j MDC 使用和 基于 Logback 的实现分析
- 在SpringBoot项目中添加logback的MDC
- LogBack sl4j 通过MDC实现日志记录区分用户Session[以Spring mvc为例] - 独木桥
- logback MDC(Mapped Diagnostic Context)与分布式系统的跟踪系统
- 使用MDC为Logback slf4 日志记录线程ID,区分每次执行的会话日志
- 使用MDC为Logback slf4 日志记录线程ID,区分每次执行的会话日志
- 日志mdc
- logback
- LOGBACK
- logback
- logback
- logback
- Logback
- logback
- js中同步与异步处理的方法和区别总结
- mysql 增删查改-练习
- 常用正则表达式
- 【转】数据库基本知识:(四)数据操作-删和改
- Spark 增量操作 insertInto() 与 mode(SaveMode.Append).saveAsTable() 的区别
- logback mdc
- Srping boot 配置文件详解
- 76、java自定义异常
- Tensorflow训练渐渐变慢,迭代一段时间卡死
- java 读取eml文件附件方法(附件为base64转码)
- 第四周项目六
- oracle学习总结(二)
- adb网络调试
- 第七周||建立顺序环形算法库