TLog TLog
💒首页
📚文档
💖支持
更新记录
加入群聊
  • LiteFlow - 轻量,快速,稳定可编排的组件式规则引擎 (opens new window)
  • frSimple - 中后台脚手架/小程序商城 (opens new window)
Gitee (opens new window)
Github (opens new window)
💒首页
📚文档
💖支持
更新记录
加入群聊
  • LiteFlow - 轻量,快速,稳定可编排的组件式规则引擎 (opens new window)
  • frSimple - 中后台脚手架/小程序商城 (opens new window)
Gitee (opens new window)
Github (opens new window)
  • TLog能解决什么痛点
  • 项目特性
  • 如何选择你的接入方式
  • 安装TLog

    • 全量依赖
    • 按需依赖
  • Javaagent方式

    • Javaagent接入方式
    • Java启动参数配置
    • 最终日志效果
  • 字节码注入方式

    • 字节码注入方式
    • 字节码注入具体方法
  • 日志框架适配方式

    • 日志框架适配器方式
    • Log4j框架适配器
    • Logback框架适配器
    • Log4j2框架适配器
  • 日志标签模板自定义
  • 标签位置的自定义(MDC)

    • MDC模式的说明
    • MDC模式下log4j的配置
    • MDC模式下logback的配置
    • MDC模式下log4j2的配置
  • SpanId的生成规则
  • 业务标签

    • 业务自定义标签能干嘛
    • 简单例子
    • 多个数值
    • 多数值连接符
    • 常量字符串标签
    • 点操作符
    • 自定义Convertor
  • 异步线程支持

    • 一般异步线程
    • 线程池
    • MDC模式中的异步线程
  • 对Httpclient的支持
  • 对Okhttp的支持
  • 对hutool-http的支持
  • 对servlet的支持
  • 对forest的支持
  • 对RestTemplate的支持
  • 对于mq中间件的支持
  • 对SpringCloud Gateway的支持
  • 对Soul网关的支持
  • 任务框架的支持

    • JDK TIMER任务
    • Quartz框架的支持
    • spring-scheduled的支持
    • XXL-JOB框架的支持
  • Logstash的支持

    • logback与logstash的集成
  • 自动打印调用参数和时间
  • 自定义TraceId生成器
  • Spring项目接入

    • dubbo & dubbox
    • SpringCloud的Openfeign
    • 其他配置
  • 文档
  • 异步线程支持
铂赛东
2022-09-12

线程池

但是对于使用了线程池的场景,由于线程池中的线程不会被销毁,会被复用。需要你用TLogInheritableTask替换Runnable,否则标签数据会重复:


 






ExecutorService pool = Executors.newFixedThreadPool(5);
pool.submit(new TLogInheritableTask() {
    @Override
    public void runTask() {
      log.info("我是异步线程日志");
    }
});

这样标签数据就能正确打印了。

除了用以上提供的增强类,这里还推荐一个阿里的ThreadLocal框架,也能完美解决TLog线程池场景的标签传递情况

https://github.com/alibaba/transmittable-thread-local

TLog对这个框架也做了支持,关于如何使用,请去上述地址自行查看。说明和用例已经写的非常清晰了。

帮助我们改善文档 (opens new window)
last update: 2022/09/21, 16:00:22
一般异步线程
MDC模式中的异步线程

← 一般异步线程 MDC模式中的异步线程→

Theme by Vdoing | Copyright © 2022-2024 铂赛东 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式