Java如何设置记录程序处理程序的格式化程序?

在此示例中,我们将看到如何为记录器处理程序设置格式化程序。我们通过调用Handler.setFormatter()方法来设置格式化程序。在下面的代码,我们设置了SimpleFormatter我们的FileHandler处理程序,并XMLFormatter为ConsoleHandler处理程序。

这种SimpleFormatter格式以纯文本信息格式记录日志,而另一侧XMLFormatter以XML格式格式化日志记录。

package org.nhooo.example.util.logging;

import java.util.logging.*;
import java.io.IOException;

public class LogFormatter {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(LogFormatter.class.getName());

        try {
            // 创建一个FileHanlder,它将使用以下命令登录到mylog.txt
            // SimpleFormatter。
            FileHandler simpleHandler = new FileHandler("mylog.txt", true);
            simpleHandler.setFormatter(new SimpleFormatter());
            logger.addHandler(simpleHandler);

            // 创建一个ConsoleHanlder,它将使用以下命令登录到控制台
            // 一个XMLFormatter。
            ConsoleHandler consoleHandler = new ConsoleHandler();
            consoleHandler.setFormatter(new XMLFormatter());
            logger.addHandler(consoleHandler);

            // 不要将消息发送给父处理程序。 
            logger.setUseParentHandlers(false);
        } catch (IOException e) {
            logger.log(Level.SEVERE, "Fail to create logger file handler.", e);
        }

        logger.info("Logging application information message.");
        logger.warning("Logging application warning message.");
    }
}