📄 e399. setting the formatter of a logger handler.txt
字号:
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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -