The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > java.util.logging  [20 examples] > Formatters  [2 examples]

e399. 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 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 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>

 Related Examples
e400. Creating a Custom Formatter for a Logger Handler

See also: Configuration    File Size    Levels   


© 2002 Addison-Wesley.