クライアントログは、ApsaraMQ for RocketMQ クライアントからのランタイム例外を記録します。これらのログを使用して、問題を特定し、トラブルシューティングを行います。
ログ出力の有効化
Java 用 TCP クライアント SDK は、ロギングに SLF4J API を使用します。依存関係の要件は SDK のバージョンによって異なります。
Java 用 SDK 1.7.8.Final 以降:ログ出力はデフォルトで有効になっています。SDK にはロギング実装が組み込まれているため、追加の依存関係は必要ありません。
1.7.8.Final より前の Java 用 SDK:ロギング実装の依存関係を
pom.xmlまたは lib ディレクトリに追加する必要があります。これらのバージョンは Log4j と Logback のみをサポートし、Log4j2 はサポートしていません。クライアントログを出力するには、最新バージョンの ApsaraMQ for RocketMQ の Java 用 SDK を使用することを推奨します。
アプリケーションに Log4j と Logback の両方が依存関係として含まれている場合、ロギングの競合によりクライアントログが出力されません。ロギング実装は 1 つだけにしてください。確認するには、次のコマンドを実行します。
mvn clean dependency:tree | grep logデフォルト設定
クライアントが起動すると、次のデフォルト設定でログファイルが生成されます。
ログファイルのパス:
/{user.home}/logs/ons.log。ここで、{user.home}は現在の Java プロセスを実行しているアカウントのホームディレクトリです。ログレベル:INFO
保持する過去のログファイルの最大数:10
単一ログファイルのサイズ:64 MB (設定不可)
設定パラメーター
起動スクリプトまたは IDE の VM オプションで JVM の -D フラグを渡すことで、デフォルト値をオーバーライドできます。
パラメーター | デフォルト | 有効な値 | 説明 |
|
| 書き込み可能な任意のパス | ログファイルのルートディレクトリ。アプリケーションプロセスがこのパスへの書き込み権限を持っていることを確認してください。 |
| INFO | ERROR、WARN、INFO、DEBUG | ログの詳細度レベル。 |
| 10 | 1~100 | 保持する過去のログファイルの最大数。この範囲外の値や無効なフォーマットの場合は、デフォルト値 (10) に戻ります。 |
クライアントログの設定
カスタムログ設定には、Java 用 SDK 1.2.5 以降が必要です。
起動スクリプトまたは IDE の VM オプションで -D フラグを渡して、デフォルト値をオーバーライドします。
Linux:
-Dons.client.logRoot=/home/admin/logs -Dons.client.logLevel=WARN -Dons.client.logFileMaxIndex=20Windows:
-Dons.client.logRoot=D:\logs -Dons.client.logLevel=WARN -Dons.client.logFileMaxIndex=20/home/admin/logs と D:\logs を、実際のログディレクトリのパスに置き換えてください。