用戶端日誌用於記錄雲訊息佇列 RocketMQ 版用戶端運行過程中的異常,協助您快速定位和修複問題。本文介紹如何為用戶端開啟日誌列印功能、用戶端日誌的配置項說明以及如何自訂配置用戶端日誌。
- 推薦您使用最新的RocketMQ 5.x系列SDK,5.x系列SDK作為主力研發版本,和雲訊息佇列 RocketMQ 版5.x服務端完全相容,提供了更全面的功能並支援更多增強特性。更多資訊,請參見5.x系列SDK。
- RocketMQ 4.x/3.x系列SDK和ONS系列SDK後續僅做功能維護,建議僅存量業務使用。
開啟用戶端日誌列印功能
雲訊息佇列 RocketMQ 版的Java SDK基於SLF4J介面編程。
Java SDK 1.7.8.Final及以上版本:預設支援,無需設定
雲訊息佇列 RocketMQ 版的Java SDK 1.7.8.Final已內建了日誌實現,您無需在用戶端應用中添加日誌實現依賴即可列印雲訊息佇列 RocketMQ 版的用戶端日誌。
針對Java SDK 1.7.8.Final以下版本:添加日誌實現依賴
雲訊息佇列 RocketMQ 版的Java SDK 1.7.8.Final以下的舊版本不支援Log4j2,只支援Log4j、Logback。您需要在
pom.xml
設定檔或者lib中添加對應的日誌實現依賴來列印雲訊息佇列 RocketMQ 版用戶端日誌。推薦您使用最新版本的日誌。
應用中同時依賴Log4j和Logback的日誌實現會造成日誌衝突導致用戶端日誌列印混亂。請確保應用只依賴其中一個日誌實現,您可以通過mvn clean dependency:tree | grep log
命令進行排查。
用戶端日誌配置項
用戶端日誌的配置項及說明如下表所示。用戶端啟動後,會按照系統預設配置組建記錄檔檔案;您也可以自訂配置項,修改日誌參數,具體操作,請參見本文中的自訂配置用戶端日誌。
配置項 | 系統預設配置 | 是否支援自訂配置 | 配置參數 | 自訂取值 |
日誌儲存路徑 | /{user.home}/logs/ons.log,其中{user.home}是指您啟動當前Java進程的根目錄。 | 是 |
| 可自訂為您需要將記錄檔儲存到本地的路徑。 請確保您的應用進程有該路徑的寫入權限,否則日誌無法列印。 |
記錄層級 | INFO | 是 |
| 取值如下:
|
儲存歷史記錄檔的最大個數 | 10個 | 是 |
| 取值範圍:1~100。 若設定的值超出該範圍或格式錯誤,則以系統預設值(10個)為準。 |
單個記錄檔大小 | 64 MB | 否 | 不涉及 | 不涉及 |
自訂配置用戶端日誌
若您需要自訂用戶端的日誌配置,請將Java SDK升級到1.2.5及以上版本。
配置方式:在啟動指令碼或者IDE的VM options中,通過
-D
命令設定用戶端日誌配置項。配置樣本:
Linux系統配置樣本
-Dons.client.logRoot=/home/admin/logs -Dons.client.logLevel=WARN -Dons.client.logFileMaxIndex=20
Windows系統配置樣本
-Dons.client.logRoot=D:\logs -Dons.client.logLevel=WARN -Dons.client.logFileMaxIndex=20
其中/home/admin/和D:\僅為樣本,請替換為您實際的系統目錄。