DTD仕様が、「Java Logging API仕様」の付録Aとして提供されます。
XMLFormatterは、任意の文字エンコーディングを使用できますが、通常UTF-8を使用することをお薦めします。 文字エンコーディングは出力Handlerで設定できます。
- 実装要件:
- JDK 9以降、LogRecordのインスタンスには、ミリ秒の解像度を下回るナノ秒を持つことができる
Instant
が含まれています。 オプションの<nanos>
要素を使用できるように、DTD仕様が更新されました。 デフォルトでは、XMLFormatterはミリ秒の解像度(LogRecord.getInstant().getNano() % 1000_000
を使用して)を下回るナノ秒の調整をコンピュート - これが0でない場合、この調整値は新しい<nanos>
要素に出力されます。 その後、イベント・インスタントは、Instant.ofEpochSecond(millis/1000L, (millis % 1000L) * 1000_000L + nanos)
を使用して再構築できます。ここで、millis
およびnanos
は、それぞれ<millis>
および<nanos>
要素で直列化された番号を表します。<date>
要素には、DateTimeFormatter.ISO_INSTANT
フォーマッタでフォーマットされたインスタント全体が含まれるようになります。古いパーサーとの互換性のために、ロギング構成で
<xml-formatter-fully-qualified-class-name>.useInstant = false
propertyを指定することで、XMLFormattersを古い形式に戻すように構成できます。useInstant
がfalse
の場合、古い書式設定が保持されます。useInstant
がtrue
(デフォルト)の場合、<nanos>
要素が出力され、<date>
要素にformattedインスタントが含まれます。たとえば、XMLFormatterのプレーン・インスタンスを構成して新しい
<nano>
要素を省略するには、ロギング構成でjava.util.logging.XMLFormatter.useInstant = false
を指定できます。 - 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
-
メソッドのサマリー
クラスjava.util.logging.Formatterで宣言されたメソッド
formatMessage
-
コンストラクタの詳細
-
XMLFormatter
public XMLFormatter()XMLFormatterの新しいインスタンスを作成します。- 実装要件:
- JDK 9以降、XMLFormatterはレコード「イベント時間」をInstantとして出力します。 このインスタントには、システムで使用可能な最適な解像度があります。
<date>
要素には、DateTimeFormatter.ISO_INSTANT
でフォーマットされたインスタントが含まれます。 さらに、ナノ秒の調整を含むオプションの<nanos>
要素は、そのインスタントにミリ秒の解像度を下回るナノ秒が含まれている場合に出力されます。この新しい動作をオフにし、古い書式設定をリストアするには、「ログ構成」にプロパティを指定します。
LogManager.getLogManager().getProperty( this.getClass().getName()+".useInstant")
が"false"
または"0"
の場合、古い書式がリストアされます。
-
-
メソッドの詳細
-
format
指定されたメッセージをXMLにフォーマットします。このメソッドは、サブクラスでオーバーライドすることができます。 メッセージ・フィールドをローカライズし、フォーマットするには、
Formatter.formatMessage(java.util.logging.LogRecord)
簡易メソッドを使用することをお薦めします。 -
getHead
-
getTail
-