クライアントログには、ApsaraMQ for RocketMQクライアントの実行時に発生する例外が記録されます。 クライアントログは、これらの例外をすばやく見つけて処理するのに役立ちます。 このトピックでは、クライアントログの設定項目、クライアントのログ印刷機能の有効化方法、およびクライアントログの設定方法について説明します。
クライアントのログ印刷機能を有効にする
ApsaraMQ for RocketMQのJava用TCPクライアントSDKは、SLF4J APIを使用して開発されています。
SDK for Java 1.7.8.Final以降: ログ印刷機能はデフォルトでサポートされています。 この機能の設定を行う必要はありません。
ApsaraMQ for RocketMQ Java 1.7.8.Finalにはログ実装が組み込まれています。 ApsaraMQ for RocketMQのクライアントログを印刷するために、ログ実装の依存関係をクライアントアプリケーションに追加する必要はありません。
1.7.8より前のバージョンのSDK for Java: ログ実装の依存関係を追加します。
ApsaraMQ for RocketMQ Java 1.7.8 SDK. Finalまたはそれ以前はLog4jとLogbackのみをサポートし、Log4j2はサポートしません。 ApsaraMQ for RocketMQのクライアントログを印刷するには、対応するログ実装依存関係を
pom.xml
設定ファイルまたはlibに追加する必要があります。 最新バージョンのMessage Queue for Apache RocketMQ SDK for Javaを使用して、クライアントログを印刷することを推奨します。重要アプリケーションがLog4jとLogbackをログ実装の依存関係として使用する場合、ログの競合により、クライアントログを期待どおりに印刷できません。 アプリケーションが2つのログ実装依存関係のいずれかのみを使用することを確認します。 確認するには、
mvn clean dependency:tree | grep log
コマンドを実行します。
クライアントログの設定項目
クライアントログの設定項目を次の表に示します。 クライアントの起動後、デフォルトのシステム構成に基づいてログファイルが生成されます。 設定項目をカスタマイズし、ログパラメータを変更することもできます。 詳細については、このトピックの「クライアントログの構成」をご参照ください。
設定アイテム | システムデフォルト設定 | カスタムパラメーターをサポートするかどうか | パラメーター | カスタム値 |
ログストレージパス | ログファイルを保存するパス: /{user.home} /logs/ons.log。{user.home} は現在のJavaプロセスを実行するアカウントのルートディレクトリです。 | 可 |
| ログファイルをローカルコンピューターに保存するパスをカスタマイズできます。 アプリケーションプロセスにこのパスの書き込み権限が付与されていることを確認します。 アプリケーションプロセスにパスへの書き込み権限が付与されていない場合、ログは印刷できません。 |
ログレベル | 情報 | 可 |
| 有効な値:
|
保持される履歴ログファイルの最大数 | 10 | 可 |
| 設定可能な値は 1~100 です。 指定された値がこの範囲外であるか、または無効な形式である場合、システムによって提供されるシステムデフォルト値 (10) が優先されます。 |
1つのログファイルのサイズ | 64 MB | 任意 | 非該当 | 非該当 |
クライアントログの設定
クライアントのログ設定をカスタマイズするには、SDK for Javaを1.2.5以降にアップグレードします。
設定方法: 統合開発環境 (IDE) の起動スクリプトまたはVMオプションで、
-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:\ は参照用にのみ提供されます。 必要に応じて置き換えてください。