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