如果debug線上環境但是又沒有加日誌,怎麼辦?可以使用arthas的watch命令來診斷。
測試程式:
/**
* hello world!
* */
private void run() catch (interruptedexception e) }}
public static void main( string args ) throws ioexception
}
watch命令:
watch 全限定類名 方法名 觀察點 引數
觀察點:arthas定義了一系列的觀察點:
常用的有:
target:呼叫方法的物件例項
params:方法引數
returnobj:返回值,如果有的話
returnexp:異常,如果有的話
如果只有乙個觀察點,可以直接寫,比如:
如果有多個,需要使用ognl表示式,放在」{}「裡,使用,分割。
引數:有乙個很常用的-x n,指定觀察點的展開的層數,預設為1。如果我們想要觀察物件內部的屬性時,使用這個引數會很方便,不需要實現tostring方法。
上面的例子:
不加-x引數:
只顯示了一層。如果想看裡面的屬性,可以使用-x引數,比如-x 3:
很方便。
arthas的查詢watch方法
先附上官方文件 在生產上只能重新發版再去尋找日誌了 target 呼叫方法的物件例項 params 方法引數 returnobj 返回值,如果有的話 returnexp 異常,如果有的話 watch 包名.類名 方法名 watch com.workbench.controller.freeproce...
arthas基礎命令
當執行在ali tomcat時,會顯示當前tomcat的實時資訊,如http請求的qps,rt,錯誤數,執行緒池資訊等等。引數說明 引數名稱 引數說明 i 重新整理實時資料的時間間隔 ms 預設5000ms n 重新整理實時資料的次數 dashboard i 10000 n 2重新整理資料時間是10...
arthas的安裝和使用
1 介紹 接觸arthas,是源於被安利,可用於問題定位,學習一下。官網文件寫得很好,但如果要真正比較好地用起來,是需要真實案例不斷去嘗試學習,其他看官網 2 為什麼要用arthas 官網描述 可以類似於解決以下的一些問題,就是出現問題了,快速定位!當你遇到以下類似問題而束手無策時,arthas可以...