10.7. ログフォーマッターの設定
ログフォーマッターは、ハンドラーでのログメッセージの形式を定義します。
logging サブシステムを使用すると、次のタイプのログフォーマッターを設定できます。
10.7.1. パターンフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
ログハンドラー全体でログメッセージをフォーマットするために使用する、名前付きパターンフォーマッターを作成できます。
管理 CLI を使用して、JBoss EAP でパターンフォーマッターを設定できます。または、管理コンソールから Configuration > Subsystems > Logging > Configuration に移動し、View をクリックして Formatter を選択し、Pattern Formatter オプションを選択して設定することもできます。
このログフォーマッターをログプロファイル用に設定する場合は、/subsystem=logging/ ではなく、/subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ でコマンドを開始します。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
前提条件
- JBoss EAP が実行している。
- 管理 CLI にアクセスできる。
手順
次のコマンドを使用して、パターンフォーマッターを作成します。
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:add(pattern=PATTERN)
/subsystem=logging/pattern-formatter=PATTERN_FORMATTER_NAME:add(pattern=PATTERN)Copy to Clipboard Copied! Toggle word wrap Toggle overflow パターンフォーマッターを定義する場合、ログメッセージをフォーマットするためのパターン文字列を指定します。たとえば、デフォルトの設定はサーバーログメッセージのログフォーマッター文字列として
%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:9990Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、パターンフォーマッターのカラーマップを設定します。
/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")Copy to Clipboard Copied! Toggle word wrap Toggle overflow また、カラーマップを定義してログレベルごとに色を割り当てることもできます。形式は
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
-
有効なレベル:
10.7.2. JSON ログフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
JSON 形式でログメッセージをフォーマットする JSON ログフォーマッターを作成できます。
管理 CLI を使用して、JBoss EAP で JSON ログフォーマッターを設定できます。または、管理コンソールから Configuration > Subsystems > Logging > Configuration に移動し、View をクリックして Formatter を選択し、JSON Formatter オプションを選択して設定することもできます。
このログフォーマッターをログプロファイル用に設定する場合は、/subsystem=logging/ ではなく、/subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ でコマンドを開始します。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
前提条件
- JBoss EAP が実行している。
- 管理 CLI にアクセスできる。
手順
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)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 予想される出力
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、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])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記JSON ログフォーマッター出力キーを変更し、静的メタデータを追加できます。JSON ログフォーマッターの主な目的は、ログメッセージを JSON 形式でフォーマットすることです。Logstash はこの JSON 出力を消費し、
@timestampおよび@versionフィールドを検索します。以下の例では、Logstash のメッセージをフォーマットする JSON ログフォーマッターを作成します。JSON フォーマッター属性は次のように使用できます。
-
key-overrides属性は、定義されたキーの名前をオーバーライドします。 -
例外をオブジェクトとしてフォーマットするには、
exception-output-type属性を formatted に設定します。 -
exception-output-type属性をdetailedに設定して、例外スタックトレースを追加します。 -
exception-output-type属性をdetailed-and-formattedに設定して、例外をオブジェクトとしてフォーマットし、スタックトレースを追加します。 -
meta-data属性を使用して、ログレコードにメタデータを追加します。
-
10.7.3. XML ログフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
XML 形式でログメッセージをフォーマットする XML ログフォーマッターを作成できます。
管理 CLI を使用して、JBoss EAP で XML ログフォーマッターを設定できます。または、管理コンソールから Configuration
このログフォーマッターをログプロファイル用に設定する場合は、/subsystem=logging/ ではなく、/subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ でコマンドを開始します。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
前提条件
- JBoss EAP が実行している。
- 管理 CLI にアクセスできる。
手順
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)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 予想される出力
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、キーオーバーライド 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)Copy to Clipboard Copied! Toggle word wrap Toggle overflow XML フォーマッター属性は次のように使用できます。
-
key-overrides属性は、定義されたキーの名前をオーバーライドします。 -
例外をオブジェクトとしてフォーマットするには、
exception-output-type属性を formatted に設定します。 -
exception-output-type属性をdetailedに設定して、例外スタックトレースを追加します。 -
exception-output-type属性をdetailed-and-formattedに設定して、例外をオブジェクトとしてフォーマットし、スタックトレースを追加します。 -
meta-data属性を使用して、ログレコードにメタデータを追加します。
-
10.7.4. カスタムログフォーマッターの設定 リンクのコピーリンクがクリップボードにコピーされました!
ログハンドラー全体でログメッセージをフォーマットするために使用する、カスタムログフォーマッターを作成できます。
管理 CLI を使用して、JBoss EAP でカスタムログフォーマッターを設定できます。または、管理コンソールから Configuration > Subsystems > Logging > Configuration に移動し、View をクリックして Formatter を選択し、Custom Formatter オプションを選択して設定することもできます。
このログフォーマッターをログプロファイル用に設定する場合は、/subsystem=logging/ ではなく、/subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ でコマンドを開始します。
さらに、マネージドドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。
前提条件
- JBoss EAP が実行している。
- 管理 CLI にアクセスできる。
手順
次のコマンドを使用して、カスタムログフォーマッターを追加します。
/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 注記カスタムログフォーマッターを追加する場合は、フォーマッターの Java クラスとそれが含まれる JBoss EAP モジュールを指定します。このクラスは
java.util.logging.Formatterを拡張する必要があります。カスタムロガーが含まれる モジュールを作成した ことを確認してください。作成されていない場合、このコマンドは失敗します。次のコマンドを使用して、ログフォーマッターのプロパティーを設定します。
/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 setter メソッドを使用してプロパティーにアクセスできなければなりません。
次のコマンドを使用して、カスタムフォーマッターをログハンドラーに割り当てます。
/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 このコマンドは、periodic rotating ファイルハンドラーが使用するカスタムフォーマッターを割り当てます。
以下の例は、カスタム XML フォーマッターを設定します。
org.jboss.logmanagerモジュールに提供されるjava.util.logging.XMLFormatterクラスを使用し、console ログハンドラーに割り当てます。例
/subsystem=logging/custom-formatter=custom-xml-formatter:add(class=java.util.logging.XMLFormatter, module=java.logging) /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=java.logging) /subsystem=logging/console-handler=CONSOLE:write-attribute(name=named-formatter, value=custom-xml-formatter)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 予想される出力
Copy to Clipboard Copied! Toggle word wrap Toggle overflow