7.2. ファイルへのログイン
コンソールのロギングの他に、アプリケーションのログをファイルに保存できます。通常、デプロイメントはローテーションログを使用してディスク領域を節約します。
Thorntail では、ロギングはシステムプロパティーを使用して設定されます。アプリケーションの起動時に -Dproperty=value
構文を使用することはできますが、YAML プロファイルファイルを使用してファイルロギングを設定することを強く推奨します。
前提条件
- ロギング分が有効になっている Maven ベースのアプリケーション。詳細は、「「ロギングの有効化」」を参照してください。
- ファイルシステムの書き込み可能なディレクトリー。
手順
任意の YAML プロファイルファイルを開きます。使用するものが分からない場合は、アプリケーションソースの
src/main/resources
ディレクトリーでproject-defaults.yml
を開きます。YAML ファイルに、以下のセクションを追加します。thorntail: logging:
フォーマッターを設定します(オプション)。デフォルトでは、以下のフォーマッターが設定されます。
- PATTERN
- ファイルへのログインに役立ちます。
- COLOR_PATTERN
- 色出力。コンソールへのログインに役立ちます。
カスタムフォーマッターを設定するには、
logging
セクションに選択したパターンで新しいフォーマッターを追加します。この例では、LOG_FORMATTER
という名前です。pattern-formatters: LOG_FORMATTER: pattern: "%p [%c] %s%e%n"
ロガーで使用するファイルハンドラーを設定します。この例は、周期ローテーションファイルハンドラーの設定を示しています。
logging
で、新しいハンドラーが含まれるPeriodic-rotating-file-handlers
セクションを追加します。periodic-rotating-file-handlers: FILE: file: path: target/MY_APP_NAME.log suffix: .yyyy-MM-dd named-formatter: LOG_FORMATTER level: INFO
ここでは、
FILE
という名前の新しいハンドラーが作成され、INFO
レベル以上のロギングイベントが作成されます。ターゲット
ディレクトリーにログインし、各ログファイルの名前はMY_APP_NAME.log
に接尾辞.yyyy-MM-dd
が付けられます。Thorntail は接尾辞からのログローテーションの期間を自動的に解析するため、java.text.SimpleDateFormat
クラスと互換性のある形式を使用するようにしてください。ルートロガーの設定
デフォルトでは、ルートロガーは
CONSOLE
ハンドラーのみを使用するように設定されています。logging
の下に、使用するハンドラーが含まれるroot-logger
セクションを追加します。root-logger: handlers: - CONSOLE - FILE
ここでは、前の手順の
FILE
ハンドラーがデフォルトのコンソールハンドラーとともに使用されます。
以下は、完全なロギング設定セクションです。
YAML 設定プロファイルの logging セクション
thorntail: logging: pattern-formatters: LOG_FORMATTER: pattern: "CUSTOM LOG FORMAT %p [%c] %s%e%n" periodic-rotating-file-handlers: FILE: file: path: path/to/your/file.log suffix: .yyyy-MM-dd named-formatter: LOG_FORMATTER root-logger: handlers: - CONSOLE - FILE