5.5. ロギングの設定例
5.5.1. ルートロガーの XML 設定例
以下の手順は、ルートロガーの設定例を示しています。
手順5.1 ルートロガーの設定
levelプロパティーを設定します。levelプロパティーは、ルートロガーが記録するログメッセージの最大レベルを設定します。<subsystem xmlns="urn:jboss:domain:logging:1.4"> <root-logger> <level name="INFO"/>handlersを一覧表示しますhandlersは、ルートロガーによって使用されるログハンドラーの一覧です。<subsystem xmlns="urn:jboss:domain:logging:1.4"> <root-logger> <level name="INFO"/> <handlers> <handler name="CONSOLE"/> <handler name="FILE"/> </handlers> </root-logger> </subsystem>
5.5.2. ログカテゴリーの XML 設定例
以下の手順は、ログカテゴリーの設定例を示しています。
手順5.2 ログカテゴリーの設定
<subsystem xmlns="urn:jboss:domain:logging:1.4">
<logger category="com.company.accounts.rec" use-parent-handlers="true">
<level name="WARN"/>
<handlers>
<handler name="accounts-rec"/>
</handlers>
</logger>
</subsystem>- ログメッセージがキャプチャーされるログカテゴリーを指定するために、
categoryプロパティーを使用します。use-parent-handlersはデフォルトで"true"に設定されています。"true"に設定した場合、このカテゴリーは、割り当てられた他のハンドラーだけでなく、ルートロガーのログハンドラーを使用します。 - ログカテゴリーが記録するログメッセージの最大レベルを設定するために、
levelプロパティーを設定します。 handlers要素には、ログハンドラーのリストが含まれます。
5.5.3. コンソールログハンドラーの XML 設定例
以下の手順は、コンソールログハンドラーの設定例を示しています。
手順5.3 コンソールログハンドラーの設定
<subsystem xmlns="urn:jboss:domain:logging:1.4">
<console-handler name="CONSOLE" autoflush="true">
<level name="INFO"/>
<encoding value="UTF-8"/>
<target value="System.out"/>
<filter-spec value="not(match("JBAS.*"))"/>
<formatter>
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
</subsystem>ログハンドラーの ID 情報を追加します。
nameプロパティーは、このログハンドラーの一意の ID を設定します。autoflushを"true"に設定すると、ログメッセージは要求直後にハンドラーのターゲットに送信されます。levelプロパティーを設定します。levelプロパティーは、記録されるログメッセージの最大レベルを設定します。encoding出力を設定します出力に使用する文字エンコーディングスキームを設定するには、encodingを使用します。target値を定義します。targetプロパティーは、ログハンドラーの出力先となるシステム出力ストリームを定義します。これはシステムエラーストリームの場合はSystem.err、標準出力ストリームの場合はSystem.outとすることができます。filter-specプロパティーを定義します。filter-specプロパティーはフィルターを定義する式の値です。以下の例では、not(match("JBAS.*"))はパターンに一致しないフィルターを定義します。formatterを指定します。このログハンドラーで使用するログフォーマッターの一覧を表示するには、formatterを使用します。
5.5.4. ファイルログハンドラーの XML 設定例
以下の手順は、ファイルログハンドラーの設定例を示しています。
手順5.4 ファイルログハンドラーの設定
<file-handler name="accounts-rec-trail" autoflush="true">
<level name="INFO"/>
<encoding value="UTF-8"/>
<file relative-to="jboss.server.log.dir" path="accounts-rec-trail.log"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<append value="true"/>
</file-handler>ファイルログハンドラーの ID 情報を追加します。
nameプロパティーは、このログハンドラーの一意の ID を設定します。autoflushを"true"に設定すると、ログメッセージは要求直後にハンドラーのターゲットに送信されます。levelプロパティーを設定します。levelプロパティーは、ルートロガーが記録するログメッセージの最大レベルを設定します。encoding出力を設定します出力に使用する文字エンコーディングスキームを設定するには、encodingを使用します。fileオブジェクトを設定します。fileオブジェクトは、このログハンドラーの出力が書き込まれるファイルを表します。relative-toとpathの 2 つの設定プロパティーが含まれます。relative-toプロパティーは、ログファイルが書き込まれるディレクトリーです。JBoss Enterprise Application Platform 6 のファイルパス変数をここで指定できます。jboss.server.log.dir変数はサーバーのlog/ディレクトリーを指します。pathプロパティーは、ログメッセージが書き込まれるファイルの名前です。これは、完全パスを決定するためにrelative-toプロパティーの値に追加される相対パス名です。formatterを指定します。このログハンドラーで使用するログフォーマッターの一覧を表示するには、formatterを使用します。appendプロパティーを設定します。appendプロパティーを"true"に設定した場合、このハンドラーが追加したすべてのメッセージが既存のファイルに追加されます。"false"に設定した場合、アプリケーションサーバーが起動するたびに新規ファイルが作成されます。appendへの変更を反映させるには、サーバーの再起動が必要です。
5.5.5. 定期ログハンドラーの XML 設定例
以下の手順は、定期ログハンドラーの設定例を示しています。
手順5.5 定期ログハンドラーの設定
<periodic-rotating-file-handler name="FILE" autoflush="true">
<level name="INFO"/>
<encoding value="UTF-8"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>定期ログハンドラーの ID 情報を追加します。
nameプロパティーは、このログハンドラーの一意の ID を設定します。autoflushを"true"に設定すると、ログメッセージは要求直後にハンドラーのターゲットに送信されます。levelプロパティーを設定します。levelプロパティーは、ルートロガーが記録するログメッセージの最大レベルを設定します。encoding出力を設定します出力に使用する文字エンコーディングスキームを設定するには、encodingを使用します。formatterを指定します。このログハンドラーで使用するログフォーマッターの一覧を表示するには、formatterを使用します。fileオブジェクトを設定します。fileオブジェクトは、このログハンドラーの出力が書き込まれるファイルを表します。relative-toとpathの 2 つの設定プロパティーが含まれます。relative-toプロパティーは、ログファイルが書き込まれるディレクトリーです。JBoss Enterprise Application Platform 6 のファイルパス変数をここで指定できます。jboss.server.log.dir変数はサーバーのlog/ディレクトリーを指します。pathプロパティーは、ログメッセージが書き込まれるファイルの名前です。これは、完全パスを決定するためにrelative-toプロパティーの値に追加される相対パス名です。suffix値を設定しますsuffixは、ローテーションされたログのファイル名に追加され、ローテーションの周期を決定するために使用されます。suffixの形式では、ドット (.) の後にjava.text.SimpleDateFormatクラスで解析できる日付文字列が指定されます。ログはsuffixで定義された最小時間単位に基づいてローテーションされます。たとえば、yyyy-MM-ddの場合は、ログが毎日ローテーションされます。http://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html を参照してください。appendプロパティーを設定します。appendプロパティーを"true"に設定した場合、このハンドラーが追加したすべてのメッセージが既存のファイルに追加されます。"false"に設定した場合、アプリケーションサーバーが起動するたびに新規ファイルが作成されます。appendへの変更を反映させるには、サーバーの再起動が必要です。
5.5.6. サイズログハンドラーの XML 設定例
以下の手順は、サイズログハンドラーの設定例を示しています。
手順5.6 サイズログハンドラーの設定
<size-rotating-file-handler name="accounts_debug" autoflush="false">
<level name="DEBUG"/>
<encoding value="UTF-8"/>
<file relative-to="jboss.server.log.dir" path="accounts-debug.log"/>
<rotate-size value="500k"/>
<max-backup-index value="5"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<append value="true"/>
</size-rotating-file-handler>サイズログハンドラーの ID 情報を追加します。
nameプロパティーは、このログハンドラーの一意の ID を設定します。autoflushを"true"に設定すると、ログメッセージは要求直後にハンドラーのターゲットに送信されます。levelプロパティーを設定します。levelプロパティーは、ルートロガーが記録するログメッセージの最大レベルを設定します。encoding出力を設定します出力に使用する文字エンコーディングスキームを設定するには、encodingを使用します。fileオブジェクトを設定します。fileオブジェクトは、このログハンドラーの出力が書き込まれるファイルを表します。relative-toとpathの 2 つの設定プロパティーが含まれます。relative-toプロパティーは、ログファイルが書き込まれるディレクトリーです。JBoss Enterprise Application Platform 6 のファイルパス変数をここで指定できます。jboss.server.log.dir変数はサーバーのlog/ディレクトリーを指します。pathプロパティーは、ログメッセージが書き込まれるファイルの名前です。これは、完全パスを決定するためにrelative-toプロパティーの値に追加される相対パス名です。rotate-size値を指定します。ログファイルがローテーションされる前に到達できる最大サイズです。数字に追加された単一の文字はサイズ単位を示します。バイトの場合はb、キロバイトの場合はk、メガバイトの場合はm、ギガバイトの場合はgになります。たとえば、50 メガバイトの場合は、50mになります。max-backup-index数を設定します。保持されるローテーションログの最大数です。この数字に達すると、最も古いログが再利用されます。formatterを指定します。このログハンドラーで使用するログフォーマッターの一覧を表示するには、formatterを使用します。appendプロパティーを設定します。appendプロパティーを"true"に設定した場合、このハンドラーが追加したすべてのメッセージが既存のファイルに追加されます。"false"に設定した場合、アプリケーションサーバーが起動するたびに新規ファイルが作成されます。appendへの変更を反映させるには、サーバーの再起動が必要です。
5.5.7. 非同期ログハンドラーの XML 設定例
以下の手順は、非同期ログハンドラーの設定例を示しています。
手順5.7 非同期ログハンドラーの設定
<async-handler name="Async_NFS_handlers">
<level name="INFO"/>
<queue-length value="512"/>
<overflow-action value="block"/>
<subhandlers>
<handler name="FILE"/>
<handler name="accounts-record"/>
</subhandlers>
</async-handler>nameプロパティーは、このログハンドラーの一意の ID を設定します。levelプロパティーは、ルートロガーが記録するログメッセージの最大レベルを設定します。queue-lengthは、サブハンドラーの応答を待機する間に、このハンドラーが保持するログメッセージの最大数を定義します。overflow-actionは、キューの長さを超えたときにこのハンドラーがどのように応答するかを定義します。これはBLOCKまたはDISCARDに設定できます。BLOCKの場合、キューでスペースが利用可能になるまでロギングアプリケーションが待機します。これは、非同期ではないログハンドラーと同じ動作です。DISCARDの場合、ロギングアプリケーションは動作を続けますが、ログメッセージは削除されます。subhandlersリストは、この非同期ハンドラーがログメッセージを渡すログハンドラーの一覧です。