- java.lang.Object
- 
- java.util.logging.Formatter
- 
- java.util.logging.XMLFormatter
 
 
- 
 public class XMLFormatter extends Formatter Format a LogRecord into a standard XML format.The DTD specification is provided as Appendix A to the Java Logging APIs specification. The XMLFormatter can be used with arbitrary character encodings, but it is recommended that it normally be used with UTF-8. The character encoding can be set on the output Handler. - Implementation Requirements:
- Since JDK 9, instances of LogRecord contain
 an Instantwhich can have nanoseconds below the millisecond resolution. The DTD specification has been updated to allow for an optional<nanos>element. By default, the XMLFormatter will compute the nanosecond adjustment below the millisecond resolution (usingLogRecord.getInstant().getNano() % 1000_000) - and if this is not 0, this adjustment value will be printed in the new<nanos>element. The event instant can then be reconstructed usingInstant.ofEpochSecond(millis/1000L, (millis % 1000L) * 1000_000L + nanos)wheremillisandnanosrepresent the numbers serialized in the<millis>and<nanos>elements, respectively.
 The<date>element will now contain the whole instant as formatted by theDateTimeFormatter.ISO_INSTANTformatter.For compatibility with old parsers, XMLFormatters can be configured to revert to the old format by specifying a <xml-formatter-fully-qualified-class-name>.useInstant = falseproperty in the logging configuration. WhenuseInstantisfalse, the old formatting will be preserved. WhenuseInstantistrue(the default), the<nanos>element will be printed and the<date>element will contain the formatted instant.For instance, in order to configure plain instances of XMLFormatter to omit the new <nano>element,java.util.logging.XMLFormatter.useInstant = falsecan be specified in the logging configuration.
- Since:
- 1.4
 
- 
- 
Constructor SummaryConstructors Constructor Description XMLFormatter()Creates a new instance of XMLFormatter.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringformat(LogRecord record)Format the given message to XML.StringgetHead(Handler h)Return the header string for a set of XML formatted records.StringgetTail(Handler h)Return the tail string for a set of XML formatted records.- 
Methods declared in class java.util.logging.FormatterformatMessage
 
- 
 
- 
- 
- 
Constructor Detail- 
XMLFormatterpublic XMLFormatter() Creates a new instance of XMLFormatter.- Implementation Requirements:
- Since JDK 9, the XMLFormatter will print out the record event time as an Instant. This instant
    has the best resolution available on the system. The <date>element will contain the instant as formatted by theDateTimeFormatter.ISO_INSTANT. In addition, an optional<nanos>element containing a nanosecond adjustment will be printed if the instant contains some nanoseconds below the millisecond resolution.This new behavior can be turned off, and the old formatting restored, by specifying a property in the logging configuration. If LogManager.getLogManager().getProperty( this.getClass().getName()+".useInstant")is"false"or"0", the old formatting will be restored.
 
 
- 
 - 
Method Detail- 
formatpublic String format(LogRecord record) Format the given message to XML.This method can be overridden in a subclass. It is recommended to use the Formatter.formatMessage(java.util.logging.LogRecord)convenience method to localize and format the message field.
 - 
getHeadpublic String getHead(Handler h) Return the header string for a set of XML formatted records.
 
- 
 
-