Setting the Formatter of a Logger Handler

A logger's handler uses a formatter to write a log record out to the log file. Two formatters are available by default: SimpleFormatter and XMLFormatter. The simple formatter formats a log record to one or more lines of text. The XML formatter formats a log record to an XML entry, making it easier to reconstruct the log record later.

To create a custom formatter, see Creating a Custom Formatter for a Logger Handler.

class MyClass { public void myMethod() { // Get a logger Logger logger = Logger.getLogger("com.mycompany"); // Create a new handler that uses the simple formatter try { FileHandler fh = new FileHandler("mylog.txt"); fh.setFormatter(new SimpleFormatter()); logger.addHandler(fh); } catch (IOException e) { } // Create a new handler that uses the XML formatter try { FileHandler fh = new FileHandler("mylog.xml"); fh.setFormatter(new XMLFormatter()); logger.addHandler(fh); } catch (IOException e) { } // Log a few messages logger.severe("my severe message"); logger.warning("my warning message"); logger.info("my info message"); logger.config("my config message"); logger.fine("my fine message"); logger.finer("my finer message"); logger.finest("my finest message"); } }
Here is format generated by the simple formatter in mylog.txt:
Jan 11, 2002 10:05:21 AM MyClass myMethod SEVERE: my severe message Jan 11, 2002 10:05:22 AM MyClass myMethod WARNING: my warning message Jan 11, 2002 10:05:22 AM MyClass myMethod INFO: my info message Jan 11, 2002 10:05:22 AM MyClass myMethod CONFIG: my config message Jan 11, 2002 10:05:22 AM MyClass myMethod FINE: my fine message Jan 11, 2002 10:05:22 AM MyClass myMethod FINER: my finer message Jan 11, 2002 10:05:22 AM MyClass myMethod FINEST: my finest message
Here is format generated by the XML formatter in mylog.xml:
<?xml version="1.0" encoding="windows-1252" standalone="no"?> <!DOCTYPE log SYSTEM "logger.dtd"> <log> <record> <date>2002-01-11T10:05:21</date> <millis>1010772321959</millis> <sequence>0</sequence> <logger>com.mycompany</logger> <level>SEVERE</level> <class>MyClass</class> <method>myMethod</method> <thread>10</thread> <message>my severe message</message> </record> <record> <date>2002-01-11T10:05:22</date> <millis>1010772322099</millis> <sequence>1</sequence> <logger>com.mycompany</logger> <level>WARNING</level> <class>MyClass</class> <method>myMethod</method> <thread>10</thread> <message>my warning message</message> </record> <record> <date>2002-01-11T10:05:22</date> <millis>1010772322099</millis> <sequence>2</sequence> <logger>com.mycompany</logger> <level>INFO</level> <class>MyClass</class> <method>myMethod</method> <thread>10</thread> <message>my info message</message> </record> <record> <date>2002-01-11T10:05:22</date> <millis>1010772322099</millis> <sequence>3</sequence> <logger>com.mycompany</logger> <level>CONFIG</level> <class>MyClass</class> <method>myMethod</method> <thread>10</thread> <message>my config message</message> </record> <record> <date>2002-01-11T10:05:22</date> <millis>1010772322109</millis> <sequence>4</sequence> <logger>com.mycompany</logger> <level>FINE</level> <class>MyClass</class> <method>myMethod</method> <thread>10</thread> <message>my fine message</message> </record> <record> <date>2002-01-11T10:05:22</date> <millis>1010772322109</millis> <sequence>5</sequence> <logger>com.mycompany</logger> <level>FINER</level> <class>MyClass</class> <method>myMethod</method> <thread>10</thread> <message>my finer message</message> </record> <record> <date>2002-01-11T10:05:22</date> <millis>1010772322119</millis> <sequence>6</sequence> <logger>com.mycompany</logger> <level>FINEST</level> <class>MyClass</class> <method>myMethod</method> <thread>10</thread> <message>my finest message</message> </record> </log>

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.