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


    简介

    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工具类来操作。

  • 相关阅读:
    SQL查询Profile设置
    AP如何定义发票的行分配账户的默认值
    使用UTL_MAIL包实现存储过程邮件发送(转)
    如何优化库存管理
    VS2008 一个IDE配色方案
    Rails2的部分新特性
    TDD Tip:方法内部New出来的对象如何Mock
    我的2008
    rails2.2 无法加载mysql的解决
    ASP.NET MVC AJAX的调用
  • 原文地址:https://www.cnblogs.com/bluemilk/p/11161977.html
Copyright © 2020-2023  润新知