11.7. ログフォーマッターの設定
ログフォーマッターはハンドラーでのログメッセージの形式を定義します。logging サブシステムでは以下のログフォーマッターを設定できます。
11.7.1. パターンフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
ログハンドラーすべてで使用できる名前付きパターンフォーマッターを作成して、ログメッセージをフォーマットすることができます。
ロギングプロファイルにこのログフォーマッターを設定する場合、 コマンドの最初は /subsystem=logging/ ではなく /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ になります。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
パターンフォーマッターの作成
パターンフォーマッターを定義するとき、ログメッセージのフォーマットに使用するパターン文字列を指定します。パターン構文の詳細は、パターンフォーマッターのフォーマット文字 を参照してください。
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:add(pattern=PATTERN)
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:add(pattern=PATTERN)
たとえば、デフォルトの設定はサーバーログへのロギングメッセージのログフォーマッター文字列として %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n を使用します。これにより、以下のようにフォーマットされるログメッセージが作成されます。
2016-03-18 15:49:32,075 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
2016-03-18 15:49:32,075 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
また、カラーマップを定義してログレベルごとに色を割り当てることもできます。形式は LEVEL:COLOR のコンマ区切りリストです。
-
有効なレベル:
finest、finer、fine、config、trace、debug、info、warning、warn、error、fatal、severe -
有効な色:
black、green、red、yellow、blue、magenta、cyan、white、brightblack、brightred、brightgreen、brightblue、brightyellow、brightmagenta、brightcyan、brightwhite
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:write-attribute(name=color-map,value="LEVEL:COLOR,LEVEL:COLOR")
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:write-attribute(name=color-map,value="LEVEL:COLOR,LEVEL:COLOR")
管理コンソールを使用してパターンログフォーマッターを設定することもできます。
- ブラウザーで管理コンソールを開きます。
-
Configuration
Subsystems Logging と選択します。 - Configuration を選択し、表示 をクリックします。
- Formatter を選択し、Pattern Formatter オプションを選択します。
11.7.2. カスタムログフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
JSON 形式でログメッセージをフォーマットする JSON ログフォーマッターを作成できます。
ロギングプロファイルにこのログフォーマッターを設定する場合、 コマンドの最初は /subsystem=logging/ ではなく /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ になります。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
JSON ログフォーマッターの追加
/subsystem=logging/json-formatter=JSON_FORMATTER_NAME:add(pretty-print=true, exception-output-type=formatted)
/subsystem=logging/json-formatter=JSON_FORMATTER_NAME:add(pretty-print=true, exception-output-type=formatted)
これにより、以下のようにフォーマットされるログメッセージが作成されます。
Logstash JSON ログフォーマッターの追加
JSON ログフォーマッター出力キーを変更し、静的メタデータを追加できます。JSON ログフォーマッターの主な目的は、ログメッセージを JSON 形式でフォーマットすることです。Logstash はこの JSON 出力を消費し、@timestamp および @version のフィールドを検索します。以下の例では、Logstash のメッセージをフォーマットする JSON ログフォーマッターを作成します。
/subsystem=logging/json-formatter=logstash:add(exception-output-type=formatted, key-overrides=[timestamp="@timestamp"], meta-data=[@version=1])
/subsystem=logging/json-formatter=logstash:add(exception-output-type=formatted, key-overrides=[timestamp="@timestamp"], meta-data=[@version=1])
JSON フォーマッター属性は以下の説明どおりに使用できます。
-
key-overrides属性は、定義されたキーの名前をオーバーライドするために使用できます。 -
exception-output-type属性をformattedに設定すると、例外をオブジェクトとしてフォーマットできます。 -
exception-output-type属性をdetailedに設定すると、例外スタックトレースを含めることができます。 -
exception-output-type属性をdetailed-and-formattedに設定すると、例外をオブジェクトとしてフォーマットし、スタックトレースを含めることができます。 -
meta-data属性を使用すると、メタデータをログレコードに追加できます。
JSON フォーマッター属性の詳細は JSON ログフォーマッター属性 を参照してください。
管理コンソールを使用して JSON ログフォーマッターを設定することもできます。
- ブラウザーで管理コンソールを開きます。
-
Configuration
Subsystems Logging と選択します。 - Configuration を選択し、表示 をクリックします。
- Formatter を選択し、JSON Formatter オプションを選択します。
11.7.3. XML ログフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
XML 形式でログメッセージをフォーマットする XML ログフォーマッターを作成できます。
ロギングプロファイルにこのログフォーマッターを設定する場合、 コマンドの最初は /subsystem=logging/ ではなく /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ になります。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
XML ログフォーマッターの追加
/subsystem=logging/xml-formatter=XML_FORMATTER_NAME:add(pretty-print=true, exception-output-type=detailed-and-formatted)
/subsystem=logging/xml-formatter=XML_FORMATTER_NAME:add(pretty-print=true, exception-output-type=detailed-and-formatted)
これにより、以下のようにフォーマットされるログメッセージが作成されます。
キーオーバーライド XML ログフォーマッターの追加
/subsystem=logging/xml-formatter=XML_FORMATTER_NAME:add(pretty-print=true, print-namespace=true, namespace-uri="urn:custom:1.0", key-overrides={message=msg, record=logRecord, timestamp=date}, print-details=true)
/subsystem=logging/xml-formatter=XML_FORMATTER_NAME:add(pretty-print=true, print-namespace=true, namespace-uri="urn:custom:1.0", key-overrides={message=msg, record=logRecord, timestamp=date}, print-details=true)
XML フォーマッター属性は以下の説明どおりに使用できます。
-
key-overrides属性は、定義されたキーの名前をオーバーライドするために使用できます。 -
exception-output-type属性をformattedに設定すると、例外をオブジェクトとしてフォーマットできます。 -
exception-output-type属性をdetailedに設定すると、例外スタックトレースを含めることができます。 -
exception-output-type属性をdetailed-and-formattedに設定すると、例外をオブジェクトとしてフォーマットし、スタックトレースを含めることができます。 -
meta-data属性を使用すると、メタデータをログレコードに追加できます。
XML フォーマッター属性の詳細は XML ログフォーマッター属性 を参照してください。
管理コンソールを使用して XML ログフォーマッターを設定することもできます。
- ブラウザーで管理コンソールを開きます。
-
Configuration
Subsystems Logging と選択します。 - Configuration を選択し、表示 をクリックします。
- Formatter を選択し、XML Formatter オプションを選択します。
11.7.4. Custom ログフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
ログハンドラーすべてで使用できるカスタムログフォーマッターを作成して、ログメッセージをフォーマットすることができます。
ここでは、管理 CLI を使用してカスタムログフォーマッターを設定する方法を説明します。
Custom ログフォーマッターの設定
ロギングプロファイルにこのログフォーマッターを設定する場合、 コマンドの最初は /subsystem=logging/ ではなく /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ になります。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
カスタムログフォーマッターを追加します。
カスタムログフォーマッターを追加する場合、フォーマッターの Java クラスとフォーマッターが含まれる JBoss EAP モジュールを指定する必要があります。クラスは
java.util.logging.Formatterを拡張する必要があります。注記すでに、カスタムフォーマッターが含まれるモジュールが作成されている必要があります。 作成されていないと、このコマンドの実行に失敗します。
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:add(class=CLASS_NAME, module=MODULE_NAME)
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:add(class=CLASS_NAME, module=MODULE_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログフォーマッターに必要なプロパティーを設定します。
setter メソッドを使用してプロパティーにアクセスできなければなりません。
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)
/subsystem=logging/custom-formatter=CUSTOM_FORMATTER_NAME:write-attribute(name=properties.PROPERTY_NAME,value=PROPERTY_VALUE)Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムフォーマッターをログハンドラーに割り当てます。
以下の管理 CLI コマンドは、Periodic Rotating ファイルハンドラーによって使用されるカスタムフォーマッターを割り当てます。
/subsystem=logging/periodic-rotating-file-handler=FILE_HANDLER_NAME:write-attribute(name=named-formatter, value=CUSTOM_FORMATTER_NAME)
/subsystem=logging/periodic-rotating-file-handler=FILE_HANDLER_NAME:write-attribute(name=named-formatter, value=CUSTOM_FORMATTER_NAME)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
カスタム XML フォーマッターの例
以下の例は、カスタム XML フォーマッターを設定します。org.jboss.logmanager モジュールに提供される java.util.logging.XMLFormatter クラスを使用し、Console ログハンドラーに割り当てます。
/subsystem=logging/custom-formatter=custom-xml-formatter:add(class=java.util.logging.XMLFormatter, module=org.jboss.logmanager) /subsystem=logging/console-handler=CONSOLE:write-attribute(name=named-formatter, value=custom-xml-formatter)
/subsystem=logging/custom-formatter=custom-xml-formatter:add(class=java.util.logging.XMLFormatter, module=org.jboss.logmanager)
/subsystem=logging/console-handler=CONSOLE:write-attribute(name=named-formatter, value=custom-xml-formatter)
このフォーマッターを使用するログメッセージは以下のようにフォーマットされます。
管理コンソールを使用したカスタムログフォーマッターの設定
管理コンソールを使用してカスタムログフォーマッターを設定することもできます。
- ブラウザーで管理コンソールを開きます。
-
Configuration
Subsystems Logging と選択します。 - Configuration を選択し、表示 をクリックします。
- Formatter を選択し、Custom Formatter オプションを選択します。