程序员冈刀,目前就职于美团,java开发工程师,研究生。2022年,毕业于北京邮电大学电子工程学院、电子与通信工程专业。个人公众号《代码废柴》欢迎关注。


一、本文主要介绍内容

你遇到没有这样的情况,代码上线了,但是没有打印日志,无法快速定位错误,还要在本地调试,模拟线上的请求,低效又不方便。如果采用重新部署还得需要大量的时间,而且可能也不是一下子解决问题。在本文中,介绍了一种常用的工具Arthas。Arthas是一个Java应用的诊断工具,功能强大,不需要应用重启就可以实现针对某一个方法的日志输出,定位错误方便易用,下面一起看一下如何使用这个好用的组件吧。

二、Arthas 工具介绍

首先,在使用之前,我们要下载最新版本的arthas。解压文件后,这里使用 arthas-boot.jar实现目标。

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_电子工程

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_电子工程_02

启动自己的应用,并且查看自己的PID。使用jps命令找到自己的应用ID。

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_java_03

在下载好的文件下,输入 java -jar arthas-boot.jar 选择对应的PID,即可进入控制台。输入dashboard即可查看这个服务的各种指标信息。

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_后端_04

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_jar_05

在代码编辑器IDEA中,安装Arthas插件,可以快速地获取watch命令,这样就可以监控某一个方法的输入、输出以及异常发生的时候输出信息。

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_jar_06

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_后端_07

例如,这里监控下面的方法,从下面的图中,就可以看得到具体的返回值信息等等。

watch com.zlg.test.demo.service.impl.TestServiceImpl test '{params,returnObj,throwExp}' -n 5 -x 3

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_java_08

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_面试_09

上面仅仅演示了Arthas众多功能的几个功能,也是比较常用的功能。这下就不用担心没有输出日志排查任务了。不过注意的是,这个工具尽可能的少在生产环境中使用,毕竟是修改class代码,会存在一定的性能问题,测试环境随意的使用!!

参考资料

Arthas官网地址:arthas.gitee.io 用户手册:arthas.gitee.io/doc/


程序员冈刀,目前就职于美团,java开发工程师,研究生。2022年,毕业于北京邮电大学电子工程学院、电子与通信工程专业。个人公众号《代码废柴》欢迎关注。

后台应用运行情况如何查看?这篇文章给你提供一个有效思路!_电子工程_10