rocketMq 客戶端日志調整存儲位置


日志配置

客戶端日志用於記錄客戶端運行過程中的異常,幫助快速定位和修復問題。本文介紹RocketMQ的客戶端日志的打印方式,以及默認和自定義配置。

打印客戶端日志

RocketMQ的TCP Java SDK基於SLF4J接口編程。

  • 針對Java SDK 1.7.8.Final版本及以上

    RocketMQ的Java SDK 1.7.8.Final已內置了日志實現,您無需在客戶端應用中添加日志實現依賴即可打印RocketMQ客戶端日志。

    RocketMQ客戶端日志的默認配置和如何修改默認配置,請參見下文的自定義日志配置部分。

  • 針對Java SDK 1.7.8.Final以下

    RocketMQ的Java SDK 1.7.8.Final以下的舊版本不支持log4j2,只支持log4j、logback。您需要在pom.xml配置文件 或者lib中添加對應的日志實現依賴來打印RocketMQ客戶端日志。

    依賴log4j或logback作為日志實現的示例代碼如下所示。

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

       
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>jcl-over-slf4j</artifactId>
          <version>1.7.7</version>
      </dependency>
      <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
          <version>1.7.7</version>
      </dependency>
      <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.17</version>
      </dependency>
    • 方式二:依賴logback作為日志實現

       
      <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-core</artifactId>
          <version>1.1.2</version>
      </dependency>
      <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
      <version>1.1.2</version>
      </dependency>
       
      說明

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

客戶端日志配置

RocketMQ 客戶端支持自定義日志保存路徑日志級別以及保存歷史日志文件的最大個數。考慮到日志傳輸以及閱讀的便利性,暫不允許自定義單個日志文件大小,仍保持默認的64 MB。

各參數的配置說明如下:

參數 說明
日志保存路徑 請確保應用進程有對該路徑寫的權限,否則日志不會打印。
保存歷史日志文件的最大個數 支持1到100之前的數值;若輸入的值超出該范圍或格式錯誤,則系統默認保存10個。
日志級別 支持ERROR、WARN、INFO、DEBUG中任何一種,不匹配默認INFO。
  • 默認配置

    RocketMQ客戶端啟動后,會按照如下的默認配置生成日志文件:

    • 日志保存路徑:/{user.home}/logs/ons.log,其中{user.home}是指啟動當前Java進程的用戶的根目錄

    • 保存歷史日志文件的最大個數:10個

    • 日志級別:INFO

    • 單個日志文件大小:64 MB

  • 自定義配置

     
    說明

    若要自定義RocketMQ客戶端的日志配置,請升級到Java SDK 1.2.5版本及以上。

    在Java SDK中自定義RocketMQ客戶端日志配置,請設置如下系統參數:

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

    示例

    您可在啟動腳本中或者IDE的VM options中添加如下系統參數:

    • 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:\ 僅為示例,請填寫您實際的系統目錄。

 

原文鏈接【阿里雲


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM