![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e399. Setting the Formatter of a Logger HandlerA 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 e400 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 messageHere 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>
© 2002 Addison-Wesley. |