閱讀880 返回首頁    go 手機大全


日誌配置__Java SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲

本文檔主要介紹 MQ 客戶端日誌的正常打印方式,MQ 客戶端日誌格式解析以及如何自定義 MQ 客戶端日誌配置。

打印 MQ 客戶端日誌

MQ 客戶端日誌在問題定位排查中扮演著非常重要的角色,通過日誌記錄客戶端運行過程中的異常,能夠幫助盡可能真實的還原某個時間點的異常場景,最終達到快速定位、修複 Bug 的目的。

TCP Java SDK 打印 MQ 客戶端日誌

MQ 的 TCP Java SDK 基於 SLF4J 接口編程,客戶端日誌的打印依賴用戶在配置文件中指定的日誌實現。目前支持 log4j(暫不支持log4j2)、logback,可在 pom.xml 或者 lib 中添加對應的日誌實現依賴即可:

方式一:依賴 log4j 作為日誌實現

  1. <dependency>
  2. <groupId>org.slf4j</groupId>
  3. <artifactId>jcl-over-slf4j</artifactId>
  4. <version>1.7.7</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.slf4j</groupId>
  8. <artifactId>slf4j-log4j12</artifactId>
  9. <version>1.7.7</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>log4j</groupId>
  13. <artifactId>log4j</artifactId>
  14. <version>1.2.17</version>
  15. </dependency>

方式二:依賴 logback 作為日誌實現

  1. <dependency>
  2. <groupId>ch.qos.logback</groupId>
  3. <artifactId>logback-core</artifactId>
  4. <version>1.1.2</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>ch.qos.logback</groupId>
  8. <artifactId>logback-classic</artifactId>
  9. <version>1.1.2</version>
  10. </dependency>

注意:應用中同時依賴 log4j 和 logback 的日誌實現會造成日誌衝突導致客戶端日誌打印混亂。確保應用隻依賴其中一個日誌實現,是正確打印 MQ 客戶端日誌的前提條件,建議通過 mvn clean dependency:tree | grep log 命令排查。

MQ 客戶端日誌默認配置

在應用中添加了唯一的日誌實現後啟動 MQ 客戶端,MQ 客戶端將會按照如下的配置生成日誌文件:

  • 日誌保存路徑:/{user.home}/logs/ons.log,其中{user.home}是指啟動當前 Java 進程的用戶的根目錄
  • 單個日誌文件大小:64MB
  • 保存曆史日誌文件的最大個數:10個
  • 日誌級別:INFO

自定義日誌配置

MQ 客戶端支持用戶自定義 日誌保存路徑日誌級別以及保存曆史日誌文件的最大個數;考慮到日誌傳輸以及閱讀的便利性,暫不允許自定義單個日誌文件大小,仍保持默認64MB;可通過配置保存曆史日誌文件的最大個數來自定義日誌文件保存的時間範圍。

各個參數配置說明如下:

  • 日誌保存路徑:請確保應用進程有對該路徑寫的權限,否則日誌不會打印。
  • 保存曆史日誌文件的最大個數:支持1到100之前的數值,超出範圍或者格式錯誤默認保存10個。
  • 日誌級別:支持 ERROR、WARN、INFO、DEBUG 中任何一種,不匹配默認 INFO。

TCP Java SDK 自定義 MQ 客戶端日誌

自定義 MQ 客戶端日誌配置,請升級 TCP Java SDK 版本到1.2.5及以上。

在 TCP Java SDK 中自定義 MQ 客戶端日誌配置,請設置如下係統參數:

  • ons.client.logRoot :日誌保存路徑
  • ons.client.logFileMaxIndex :保存曆史日誌文件的最大個數
  • ons.client.logLevel :日誌級別

舉例說明,可在啟動腳本中或者 IDE 的 VM options 中添加如下係統參數:

  1. -Dons.client.logRoot=/home/admin/logs -Dons.client.logLevel=WARN -Dons.client.logFileMaxIndex=20

最後更新:2016-11-23 16:04:17

  上一篇:go Java SDK 環境準備__Java SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲
  下一篇:go 發送普通消息(三種方式)__Java SDK_TCP 接入(專業)_消息隊列 MQ-阿裏雲