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

字节码注入具体方法

只需要在你的启动类中加入一行代码,即可以自动进行探测你项目所使用的Log框架,并进行增强。

以下方法适用于log4j,logback,原则上log4j2连这一行都不需要,因为log4j2会插件架构设计,会自动读取TLog项目中log4j2的适配插件

以下方法对3大日志框架的异步日志形式也支持,请放心使用




 






@SpringBootApplication
public class Runner {

    static {AspectLogEnhance.enhance();}//进行日志增强,自动判断日志框架

    public static void main(String[] args) {
        SpringApplication.run(Runner.class, args);
    }
}

警告

因为这里是用javassist实现,需要在jvm加载对应日志框架的类之前,进行字节码增强。所以这里用static块。但是此方法要注意以下几点:

  • 对于Springboot应用而言,启动类中不能加入log定义,否则会不生效。

  • 如果你的项目是非springboot,或者你是用tomcat/jboss/jetty等外置容器启动的(springboot的spring-boot-starter-web属于内置容器),则此方法无法使用,只能手动修改log配置文件,替换几个类,也很方便,请参照日志框架适配方式

  • 对于使用log4j2日志框架的应用来说,此方法如果出现不生效的情况,请把log4j2配置文件的pattern中的m/msg/message改成tm/tmsg/tmessage

帮助我们改善文档 (opens new window)
last update: 2022/09/21, 16:00:22
字节码注入方式
日志框架适配器方式

← 字节码注入方式 日志框架适配器方式→

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