すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:ログ設定

最終更新日:Mar 11, 2026

ApsaraMQ for RocketMQ でメッセージ配信の失敗やコンシューマーラグをトラブルシューティングする際、クライアントログは主要な診断ツールとなります。Java 向け SDK は、ランタイム例外、接続イベント、およびメッセージライフサイクルの詳細をキャプチャするログファイルを自動的に生成します。

重要
  • 最新の RocketMQ 5.x SDK を使用することを推奨します。これらの SDK は ApsaraMQ for RocketMQ 5.x ブローカーと完全に互換性があり、より多くの機能と機能強化を提供します。詳細については、「Java SDK バージョンガイド」をご参照ください。

  • Alibaba Cloud は RocketMQ 3.x、4.x、および TCP クライアント SDK のみを保守しています。これらは既存のビジネスでのみ使用することを推奨します。

デフォルトのログ設定

クライアントは、以下のデフォルト設定でログファイルを自動的に生成します。

設定項目デフォルト値カスタマイズ可能システムプロパティ
ログ保存パス/{user.home}/logs/ons.logYesons.client.logRoot
ログレベルINFOYesons.client.logLevel
保持されるログファイルの最大数10Yesons.client.logFileMaxIndex
ログファイルサイズ64 MBNoN/A

デフォルトパスでは、{user.home} は Java プロセスを実行しているアカウントのホームディレクトリです。

ログレベル

有効なログレベルは次のとおりです。

レベル
ERROR
WARN
INFO
DEBUG

ログ出力の有効化

Java 向け SDK は、ログ記録に SLF4J API を使用します。設定は SDK のバージョンによって異なります。

Java 向け SDK 1.7.8.Final 以降

設定は不要です。これらのバージョンには、ログ出力を自動的に処理する組み込みのログ記録フレームワークが含まれています。

Java 向け SDK 1.7.8.Final より前のバージョン

サポートされているログ記録フレームワーク (Log4j または Logback) への依存関係を、ご利用の pom.xml または .lib ファイルに追加します。

重要
  • Java 向け SDK 1.7.8.Final 以前のバージョンは、Log4j と Logback のみをサポートしています。Log4j2 はサポートされていません。

  • ご利用のアプリケーションに Log4j と Logback の両方が含まれている場合、ログ記録の競合によりクライアントログが正しく出力されません。いずれか 1 つのログ記録フレームワークのみを使用してください。競合を特定するには、以下を実行します。

      mvn clean dependency:tree | grep log
  • これらの制限を回避するには、Java 向け SDK の最新バージョンにアップグレードしてください。

クライアントログのカスタマイズ

重要

カスタムログ設定には、Java 向け SDK 1.2.5 以降が必要です。

Java システムプロパティは、起動スクリプトまたは統合開発環境 (IDE) の仮想マシン (VM) オプションで、-D フラグを介して渡します。

利用可能なプロパティ

プロパティ説明有効な値
ons.client.logRootログファイルディレクトリご利用のシステム上の書き込み可能なパス
ons.client.logLevel最小ログレベルERRORWARNINFODEBUG
ons.client.logFileMaxIndex保持されるログファイルの最大数1100 (値が範囲外または無効な場合は 10 にデフォルト設定されます)

Linux または macOS:

  -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/logs および D:\logs を、ご利用のシステム上の実際のディレクトリに置き換えてください。アプリケーションプロセスは、指定されたパスに対する書き込み権限を持っている必要があります。そうでない場合、ログは出力されません。

ログ記録の問題のトラブルシューティング

症状原因解決方法
ログファイルが生成されないロギングフレームワークの依存関係が不足している(SDK バージョンが 1.7.8.Final より前の場合)pom.xml
ログ出力が空または欠落しているクラスパス上に Log4j と Logback の両方が存在しているいずれか一方のフレームワークを削除します。mvn clean dependency:tree を実行し、出力結果から log を検索して競合を特定します。
ログが想定外のディレクトリに書き込まれるデフォルトの {user.home} がランタイム時に異なるパスに解決されるons.client.logRoot を明示的に、既知のパスに設定します。
ログファイルが無制限に増大するデフォルトの保持設定では、最大 10 個のログファイル(各 64 MB、合計 640 MB)が保持されるons.client.logFileMaxIndex の値を小さく設定するか、外部のログローテーションを構成します。