中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

線上排障技巧之怎么動態修改Logger級別

發布時間:2021-10-25 10:20:10 來源:億速云 閱讀:148 作者:iii 欄目:web開發

這篇文章主要介紹“線上排障技巧之怎么動態修改Logger級別”,在日常操作中,相信很多人在線上排障技巧之怎么動態修改Logger級別問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”線上排障技巧之怎么動態修改Logger級別”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

「效果演示:」

線上排障技巧之怎么動態修改Logger級別

「本文內容重點:」

  • Arthas工具簡介

  • 本地測試:實時修改LOGGER級別

  • 線上實戰:實時打印MyBatis SQL語句

  • 總結

Arthas工具簡介Arthas是阿里開源的Java診斷工具,它的功能可以大致參考下圖:

線上排障技巧之怎么動態修改Logger級別

它運行的原理是通過字節碼生成工具(ASM字節碼增強),將代理邏輯編織到原來的類里,實現對應的監控調試等功能。

本地測試:實時修改LOGGER級別

安裝arthas

網絡安裝

在接通外網的環境下,可以使用快速網絡安裝,會從阿里的源拉去全量包。

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

全量安裝

如果本地外網環境不通,比如某些容器內是不允許外網訪問的,那么可以使用預先下載好的全量安裝包,然后解壓后運行包內的jar,使用命令:

java -jar arthas-boot.jar

啟動arthas我在本地啟動arthas,效果如下圖:

線上排障技巧之怎么動態修改Logger級別

全局Logger信息

使用命令:

logger

線上排障技巧之怎么動態修改Logger級別

可以看到所有logger的信息,包括其中每個appenders。

使用如下命令,修改名稱為ROOT的logger的日志級別至debug級別:

logger --name ROOT --level debug

線上排障技巧之怎么動態修改Logger級別

可以看到多出了debug級別的輸出。

指定類名的logger信息

在有多個logger的情況下,可以查找指定名稱的logger

logger -n ROOT

線上排障技巧之怎么動態修改Logger級別

指定classloader的logger信息

如果需要改變指定類的輸出級別,先要定位到該類的classLoader,然后修改該clasLoader的logger。

sc -d cn.monitor4all.miaoshaweb.DynamicLoggerTest | grep classLoaderHash

使用sc命令查看你需要改變的類信息:

線上排障技巧之怎么動態修改Logger級別

隨后可以通過classLoader找到其對應的logger:

logger -c 18b4aac2

線上排障技巧之怎么動態修改Logger級別

然后就可以調整對應的logger日志級別:

logger -c 18b4aac2 --name ROOT --level debug

線上排障技巧之怎么動態修改Logger級別

線上排障技巧之怎么動態修改Logger級別

使用 ongl  命令

此外,Arthas還支持使用ognl來修改日志級別。但是這種方法對log4j不友好,修改會報錯。并且就算支持的logback/slf4j,也需要復雜的形如ognl  -c @org.slf4j.LoggerFactory@getLogger("root").setLevel()的命令才能修改,并不是一個很好的辦法。

線上實戰:實時打印MyBatis  SQL語句

容器內啟動arthas

我的線上容器,是沒有外網訪問權限的(這種情況蠻常見的),我將全量包解壓在容器內運行:

線上排障技巧之怎么動態修改Logger級別

打印DEBUG級別的SQL日志

下圖是沒有DEBUG信息的一條請求日志,可以看到只有入參出參的攔截器信息(INFO級別):

線上排障技巧之怎么動態修改Logger級別

使用logger --name ROOT --level debug,將SQL語句輸出出來:

線上排障技巧之怎么動態修改Logger級別

畢竟,很多時候線上的bug是不小心拼錯SQL導致。

到此,關于“線上排障技巧之怎么動態修改Logger級別”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜良县| 孟村| 民勤县| 得荣县| 色达县| 武宁县| 高平市| 乐亭县| 上杭县| 甘南县| 陆河县| 阜康市| 七台河市| 保山市| 鄂伦春自治旗| 无锡市| 玉山县| 郧西县| 蓬安县| 深圳市| 德保县| 鱼台县| 广汉市| 和平县| 霍山县| 饶阳县| 保德县| 疏附县| 望城县| 额尔古纳市| 民权县| 广灵县| 兴仁县| 福安市| 合川市| 东至县| 叙永县| 奇台县| 化州市| 玉屏| 和林格尔县|