arthas 组合命令jad/mc/redefine,再也不用担心生产环境问题排查困难了

当生产环境中遇到问题而日志不足时,可以通过Arthas诊断工具进行动态日志注入,无需重启应用。首先启动Arthas,然后反编译目标类并添加日志代码,再重新编译并加载到JVM,最后通过请求查看新增的日志,快速定位问题。
摘要由CSDN通过智能技术生成

很多时候生产出现问题了,但是由于日志埋点太少不能迅速通过日志分析问题产生的原因,生产环境也不允许你频繁的重新发布应用。通过arthas诊断工具的组合命令能够实现不重启应用的情况下动态的插入打印日志。具体步骤如下:

  1. 启动arthas
  curl -O https://arthas.aliyun.com/arthas-boot.jar
  java -jar arthas-boot.jar
  挂载对应进程ID,进入arthas环境
  1. 反编译class 生成java文件到指定路径
jad --source-only com.example.demo.arthas.user.UserController > /tmp/UserController.java
  1. 加入打印日志代码到Java文件,然后编译为class文件
//在UserController类中增加日志
logger.info("XXXXXXXXX value={}",value)
//重新编译
mc /tmp/UserController.java -d /tmp
  1. 把修改的class加载到jvm 中,重新请求就可以查看打印日志了
redefine /tmp/com/example/demo/arthas/user/UserController.class
  1. 大功告成,后续会陆续把arthas其他常用的命令分享出来大家一起交流
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值