码迷,mamicode.com
首页 > 其他好文 > 详细

Btrace打印自定义引用类方法参数

时间:2019-07-10 18:27:39      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:打印   long   status   cas   重启   简介   运行   不用   通过   

简介

BTrace是sun公司推出的一款Java 动态、安全追踪(监控)工具,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数、返回值、全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源。

废话不多说,看这篇文章的读者肯定是对Btrace有基本的了解了。笔者在使用Btrace时,想打印方法的入参,发现官方文档的例子并不明显。经过一番摸索,发现下面这种方式是能够获取自定义类型参数值的。

@BTrace
public class Debug {

    @OnMethod(clazz = "fun.coolife.btrace.BtraceCase", method = "query", location = @Location(Kind.ENTRY))
    public static void argPrint(Object request) {
        BTraceUtils.printFields(request);
    }
}

输出结果:
技术图片

可以看到,Btrace成功打印了方法入参的值。笔者用来测试的参数是一个自定义的对象,具体如下:

public class Request {
    private Long customerId;
    private Integer status;

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}

注意

由于Btrace会把脚本逻辑直接侵入到运行的代码中,所以不恰当的使用,可能会导致JVM崩溃。因此,Btrace做了诸多限制。通常是通过BTraceUtils工具类来操作。

Btrace打印自定义引用类方法参数

标签:打印   long   status   cas   重启   简介   运行   不用   通过   

原文地址:https://www.cnblogs.com/bluemilk/p/11161977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!