1 | watch com.demo.ClassName FuctionName 'target.fieldName' |
‘com.demo.ClassName’:(需修改)要查看的bean的全路径类名
‘FuctionName’:(需修改)这个类中的其中一个函数
‘target’:代表这个class的bean(重要)
‘fieldName’:(需修改)代表要查看的属性名(重要)
通过修改fieldName来获取这个bean的属性(tip: 获取的时机在调用了FunctionName这个函数后,因此要选择可以调用到的函数)

1 | watch com.demo.ClassName FuctionName "{params[0],returnObj}" "params[0].equals('FilterString')" -x 2 |
‘com.demo.ClassName’:(需修改)要查看的bean的全路径类名
‘FuctionName’:(需修改)这个类中的其中一个函数
‘params[0]’:代表入参的第一个参数
‘returnObj’:代表返回值
‘FilterString’:(需修改)代表只过滤出入参为’FilterString’的请求
‘-x’:指定输出结果的属性遍历深度,默认为 1,最大值是 4
如果要展示所有的调用,则直接使用”watch com.demo.ClassName FuctionName “{params[0],returnObj} -x 2”” 即可
| 参数名称 | 参数说明 |
|---|---|
| class-pattern | 类名表达式匹配 |
| method-pattern | 函数名表达式匹配 |
| express | 观察表达式,默认值:{params, target, returnObj} |
| condition-express | 条件表达式 |
| [b] | 在函数调用之前观察 |
| [e] | 在函数异常之后观察 |
| [s] | 在函数返回之后观察 |
| [f] | 在函数结束之后(正常返回和异常返回)观察 |
| [E] | 开启正则表达式匹配,默认为通配符匹配 |
| [x:] | 指定输出结果的属性遍历深度,默认为 1,最大值是 4 |
| [m <”arg”>] | 指定 Class 最大匹配数量,默认值为 50。长格式为[maxMatch <”arg”>]。 |
可查看官方文档:arthas watch使用说明
如有错误,希望大家不吝赐教