Arthas 简单使用示例

268 阅读1分钟

Arthas

对于方法日志,公司针对接口有基础的出参入参和异常的日志打印,使用Api ID定位即可,所以一直没有用上Arthas。 但是对于更深次的方法调用,日志就没有那么详细了。之前听说过使用了Arthas,结合IDEA上的插件体验下来:香。

介绍

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。

Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

用法

Arthas安装及启用参考官方文档:

curl -O https://arthas.aliyun.com/arthas-boot.jar

安装Arthas插件

Arthas插件

Watch

选择需要watch的方法

在需要Watch的方法上右击,选择 Arthas Command -> Watch,会自动复制命令:

watch [ClassPath] [MethodName] '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'

进入Arthas会话

java -jar arthas-boot.jar

成功启动后可以看到当前服务器上启动的jar包:

启动Arthas

选择需要attach的服务

这里选择了[6]服务,输入 6:

attach服务

输入命令

将上面获取到命令输入:

watch命令

此时成功Watch目标方法。接下来我们请求该接口:

请求入参及结果

成功获取到了该方法的请求参数和返回结果。

修改类日志级别

获取类的Hash值

类加载器Hash值

修改类日志级别

更新类日志级别

退出

输入stop即可退出Arthas:

退出

重新连接上次未退出的Arthas会话

如果不是通过stop命令退出Arthas,下次进入时我们可以重新连接上Arthas:

telnet 127.0.0.1 3658