19.3. デフォルトのログ設定ファイル
19.3.1. ロギング設定の概要
デフォルトのロギング設定ファイル logging.properties
は InstallDir/etc
ディレクトリーにあります。Apache CXF ロガーを設定し、WARNING
レベルのメッセージをコンソールに出力します。このレベルのログがアプリケーションに適している場合は、使用する前にファイルに変更を加える必要はありません。ただし、ログメッセージの詳細レベルを変更することはできます。たとえば、ログメッセージをコンソールに送信するか、ファイルに送信するか、またはその両方に送信するかを変更できます。さらに、個々のパッケージのレベルでロギングを指定できます。
このセクションでは、デフォルトの logging.properties
ファイルに表示される設定プロパティーを説明します。ただし、設定可能なその他の java.util.logging
設定プロパティーが多数あります。java.util.logging
API の詳細は、http://download.oracle.com/javase/1.5/docs/api/java/util/logging/package-summary.html の java.util.logging
を参照してください。
19.3.2. ロギング出力の設定
概要
Java ロギングユーティリティー java.util.logging
は、ハンドラークラスを使用してログメッセージを出力します。表19.1「Java.util.logging Handler Classes」 は、デフォルトの logging.properties
ファイルで設定されるハンドラーを示しています。
ハンドラークラス | への出力 |
---|---|
| ログメッセージをコンソールに出力します |
| ログメッセージをファイルに出力します |
ハンドラークラスは、Java VM の起動時にインストールされるために、システムクラスパス上にある必要があります。これは、Apache CXF 環境を設定するときに行われます。
コンソールハンドラーの設定
例19.2「コンソールハンドラーの設定」 は、コンソールロガーを設定するためのコードを示しています。
例19.2 コンソールハンドラーの設定
handlers= java.util.logging.ConsoleHandler
コンソールハンドラーは、例19.3「コンソールハンドラーのプロパティー」 に示す設定プロパティーもサポートします。
例19.3 コンソールハンドラーのプロパティー
java.util.logging.ConsoleHandler.level = WARNING java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
例19.3「コンソールハンドラーのプロパティー」 に示す設定プロパティー次のように説明することができます。
コンソールハンドラーは、個別のログレベル設定プロパティーをサポートします。これにより、コンソールに出力されるログメッセージを制限できますが、グローバルログ設定は異なる場合があります (「ロギングレベルの設定」 を参照)。デフォルト設定は WARNING
です。
コンソールハンドラークラスがログメッセージのフォーマットに使用する java.util.logging
フォーマッタークラスを指定します。デフォルト設定は java.util.logging.SimpleFormatter
です。
ファイルハンドラーの設定
例19.4「ファイルハンドラーの設定」 は、ファイルハンドラーを設定するコードを示しています。
例19.4 ファイルハンドラーの設定
handlers= java.util.logging.FileHandler
ファイルハンドラーは、例19.5「ファイルハンドラーの設定プロパティー」 に示す設定プロパティーもサポートします。
例19.5 ファイルハンドラーの設定プロパティー
java.util.logging.FileHandler.pattern = %h/java%u.log java.util.logging.FileHandler.limit = 50000 java.util.logging.FileHandler.count = 1 java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
例19.5「ファイルハンドラーの設定プロパティー」 に示す設定プロパティー次のように説明することができます。
出力ファイルの場所とパターンを指定します。デフォルト設定はホームディレクトリーです。
ロガーが任意の 1 つのファイルに書き込む最大量をバイト単位で指定します。デフォルト設定は 50000
です。ゼロに設定すると、ロガーが 1 つのファイルに書き込む量に制限はありません。
循環する出力ファイルの数を指定します。デフォルト設定は 1
です。
ファイルハンドラークラスがログメッセージのフォーマットに使用する java.util.logging
フォーマッタークラスを指定します。デフォルト設定は java.util.logging.XMLFormatter
です。
コンソールハンドラーとファイルハンドラーの両方を設定する
コンソールログとファイルの両方の設定 に示すように、コンソールハンドラーとファイルハンドラーをコンマで区切って指定することにより、ログメッセージをコンソールとファイルの両方に出力するようにログユーティリティーを設定できます。
コンソールログとファイルの両方の設定
Logging
handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
19.3.3. ロギングレベルの設定
ロギングレベル
java.util.logging
フレームワークは、最も詳細度の高いものから最も詳細なロギングレベルをサポートします。
-
SEVERE
-
WARNING
-
INFO
-
CONFIG
-
FINE
-
FINER
-
FINEST
グローバルロギングレベルの設定
すべてのロガーでログに記録されるイベントのタイプを設定するには、例19.6「グローバルログレベルの設定」 に示すようにグローバルログレベルを設定します。
例19.6 グローバルログレベルの設定
.level= WARNING
個々のパッケージでのロギングの設定
level
java.util.logging
フレームワークは、個別のパッケージレベルでのロギングの設定をサポートします。たとえば、例19.7「パッケージレベルでのロギングの設定」 で示されているコードの行は、com.xyz.foo パッケージのクラス上の SEVERE
レベルでロギングを設定します。
例19.7 パッケージレベルでのロギングの設定
com.xyz.foo.level = SEVERE