在此示例中,我们将看到如何为记录器处理程序设置格式化程序。我们通过调用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."); } }