8000 GitHub - ofpay/logback-mdc-ttl: logback扩展,集成transmittable-thread-local支持跨线程池的mdc跟踪
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ofpay/logback-mdc-ttl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logback-mdc-ttl

Java CI Maven Central GitHub release License

👉 logback扩展,支持跨线程池的mdc跟踪。

实现上集成使用了Transmittable ThreadLocal(TTL) :在使用线程池等会缓存线程的组件情况下,提供ThreadLocal值的传递功能,解决异步执行时上下文传递的问题。支持 Java 11~21

Note

v2.0+开始,升级到Java 11。🚀
如果需要Java 8的支持,使用版本1.0.x


1.项目依赖

<dependency>
    <groupId>com.ofpay</groupId>
    <artifactId>logback-mdc-ttl</artifactId>
    <version>2.0.0</version>
</dependency>

2. 在Java的启动参数加上:

  • -Xbootclasspath/a:/path/to/transmittable-thread-local-2.x.x.jar
  • -javaagent:/path/to/transmittable-thread-local-2.x.x.jar
  • 强制指定使用哪个 SLF4JServiceProvider 实现,从而避免多个绑定时的不确定性问题
  • -Dslf4j.provider=com.ofpay.logback.TtlSlf4JServiceProvider

3. logback 示例

<configuration scan="true" scanPeriod="30 seconds">
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--例子:  %X{uuid} 支持在跨线程池时传递-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|%X{uuid}|%level|%M|%C:%L|%thread|%msg%n</pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="CONSOLE" />
    </root>

    <logger name="org.springframework" level="INFO" />
    <logger name="com.ofpay" level="DEBUG" />
</configuration>

JDK 17 + springboot3.x 示例

  • 参考test: com.ofpay.logback.springboot3

About

logback扩展,集成transmittable-thread-local支持跨线程池的mdc跟踪

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages

0