4.3. デプロイメントごとのロギング
デプロイメントごとのロギングを使用すると、開発者はアプリケーションのロギング設定を事前に設定できます。アプリケーションがデプロイされると、定義された設定に従ってロギングが開始されます。この設定によって作成されたログファイルにはアプリケーションの動作に関する情報のみが含まれます。
デプロイメントごとのロギング設定が行われない場合、すべてのアプリケーションとサーバーには logging サブシステムの設定が使用されます。
この方法では、システム全体のロギングを使用する利点と欠点があります。利点は、JBoss EAP インスタンスの管理者がサーバーロギング以外のロギングを設定する必要がないことです。欠点は、デプロイメントごとのロギング設定はサーバーの起動時に読み取り専用であるため、実行時に変更できないことです。
4.3.1. デプロイメントごとのロギングをアプリケーションに追加 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションのデプロイメントごとのロギングを設定するには、logging.properties 設定ファイルをデプロイメントに追加します。この設定ファイルは、JBoss Log Manager が基礎となるログマネージャーである場合にどのロギングファサードとも使用できるため、推奨されます。
設定ファイルが追加されるディレクトリーは、デプロイメント方法によって異なります。
-
EAR デプロイメントの場合は、ロギング設定ファイルを
META-INF/ディレクトリーにコピーします。 -
WAR または JAR デプロイメントの場合は、ロギング設定ファイルを
WEB-INF/classes/ディレクトリーにコピーします。
Simple Logging Facade for Java (SLF4J) または Apache log4j を使用している場合は、logging.properties 設定ファイルが適しています。Apache log4j アペンダーを使用している場合は、log4j.properties 設定ファイルが必要になります。jboss-logging.properties 設定ファイルはレガシーデプロイメントのみでサポートされます。
logging.properties の設定
logging.properties ファイルはサーバーが起動し、logging サブシステムが起動するまで使用されます。logging サブシステムが設定に含まれない場合、サーバーはこのファイルの設定をサーバー全体のロギング設定として使用します。
JBoss ログマネージャーの設定オプション
ロガーオプション
-
loggers=<category>[,<category>,…]- 設定するロガーカテゴリーのコンマ区切りのリストを指定します。ここで記載されていないカテゴリーは、以下のプロパティーから設定されません。 -
logger.<category>.level=<level>- カテゴリーのレベルを指定します。このレベルは有効なレベルのいずれかになります。指定されない場合は、最も近い親のレベルが継承されます。 -
logger.<category>.handlers=<handler>[,<handler>,…]- このロガーに割り当てるハンドラー名のコンマ区切りのリストを指定します。ハンドラーは同じプロパティーファイルで設定する必要があります。 -
logger.<category>.filter=<filter>- カテゴリーのフィルターを指定します。 -
logger.<category>.useParentHandlers=(true|false)- ログメッセージを親ハンドラーにカスケードするかどうかを指定します。デフォルト値はtrueです。
ハンドラーオプション
handler.<name>=<className>- インスタンス化するハンドラーのクラス名を指定します。このオプションは必須です。注記Expand 表4.1 可能なクラス名 名前 関連するクラス Consoleorg.jboss.logmanager.handlers.ConsoleHandlerFileorg.jboss.logmanager.handlers.FileHandlerPeriodicorg.jboss.logmanager.handlers.PeriodicRotatingFileHandlerSizeorg.jboss.logmanager.handlers.SizeRotatingFileHandlerPeriodic Sizeorg.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandlerSyslogorg.jboss.logmanager.handlers.SyslogHandlerAsyncorg.jboss.logmanager.handlers.AsyncHandlerCustomハンドラーは関連するあらゆるクラスまたはモジュールを持つことができます。このハンドラーはloggingサブシステムにあり、ユーザーは独自のログハンドラーを定義できます。詳細は、JBoss EAP『設定ガイド』の「ログハンドラー」を参照してください。
-
handler.<name>.level=<level>- このハンドラーのレベルを制限します。指定されない場合は、ALL のデフォルト値が保持されます。 -
handler.<name>.encoding=<encoding>- 文字エンコーディングを指定します (このハンドラータイプによりサポートされている場合)。指定されない場合は、ハンドラー固有のデフォルト値が使用されます。 -
handler.<name>.errorManager=<name>- 使用するエラーマネージャーの名前を指定します。エラーマネージャーは同じプロパティーファイルで設定する必要があります。指定されない場合は、エラーマネージャーが設定されません。 -
handler.<name>.filter=<name>- カテゴリーのフィルターを指定します。フィルターの定義の詳細は、フィルター式を参照してください。 -
handler.<name>.formatter=<name>- 使用するフォーマッターの名前を指定します (このハンドラータイプによりサポートされている場合)。フォーマッターは同じプロパティーファイルで設定する必要があります。指定されない場合、ほとんどのハンドラータイプのメッセージはログに記録されません。 handler.<name>.properties=<property>[,<property>,…]- 追加的に設定する JavaBean 形式のプロパティーを指定します。指定のプロパティーが適切に変換されるように、基本的なタイプイントロスペクションが行われます。JBoss Log Manager のすべてのファイルハンドラーには、
fileNameの前にappendを設定する必要があります。handler.<name>.propertiesでプロパティーを指定する順番は、プロパティーが設定される順番になります。-
handler.<name>.constructorProperties=<property>[,<property>,…]- 構築パラメーターとして使用する必要があるプロパティーのリストを指定します。指定のプロパティーが適切に変換されるように、基本的なタイプイントロスペクションが行われます。 -
handler.<name>.<property>=<value>- 名前付きプロパティーの値を設定します。 -
handler.<name>.module=<name>- ハンドラーが存在するモジュールの名前を指定します。
詳細は、JBoss EAP 『設定ガイド』の「ログハンドラーの属性」を参照してください。
エラーマネージャーオプション
-
errorManager.<name>=<className>- インスタンス化するエラーマネージャーのクラス名を指定します。このオプションは必須です。 -
errorManager.<name>.properties=<property>[,<property>,…]- 追加的に設定する JavaBean 形式のプロパティーを指定します。指定のプロパティーが適切に変換されるように、基本的なタイプイントロスペクションが行われます。 -
errorManager.<name>.<property>=<value>- 名前のついたプロパティーの値を設定します。
フォーマッターオプション
-
formatter.<name>=<className>- インスタンス化するフォーマッターのクラス名を指定します。このオプションは必須です。 -
formatter.<name>.properties=<property>[,<property>,…]- 追加的に設定する JavaBean 形式のプロパティーを指定します。指定のプロパティーが適切に変換されるように、基本的なタイプイントロスペクションが行われます。 -
formatter.<name>.constructorProperties=<property>[,<property>,…]- 構築パラメーターとして使用する必要があるプロパティーのリストを指定します。指定のプロパティーが適切に変換されるように、基本的なタイプイントロスペクションが行われます。 -
formatter.<name>.<property>=<value>- 名前付きプロパティーの値を設定します。
以下の例は、コンソールにログ記録する logging.properties ファイルの最低限の設定を示しています。
例: 最低限の logging.properties 設定