19.3. デフォルトのログ設定ファイル

19.3.1. ロギング設定の概要

デフォルトのロギング設定ファイル logging.propertiesInstallDir/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.htmljava.util.logging を参照してください。

19.3.2. ロギング出力の設定

概要

Java ロギングユーティリティー java.util.logging は、ハンドラークラスを使用してログメッセージを出力します。表19.1「Java.util.logging Handler Classes」 は、デフォルトの logging.properties ファイルで設定されるハンドラーを示しています。

表19.1 Java.util.logging Handler Classes

ハンドラークラスへの出力

ConsoleHandler

ログメッセージをコンソールに出力します

FileHandler

ログメッセージをファイルに出力します

重要

ハンドラークラスは、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
  • 警告
  • 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