Java如何使用Logger的MemoryHandler类?

在这个例子中,我们展示了使用Logger的MemoryHandler一个时,当一些条件,我们的应用程序碰巧只记录,例如Level.SEVERE记录的消息。

我们创建了一个实例,MemoryHandler该实例将日志委派给FileHandler类,并记录最后的100条记录,直到记录了一条Level.SEVERE消息。

package org.nhooo.example.util.logging;

import java.util.logging.Logger;
import java.util.logging.FileHandler;
import java.util.logging.MemoryHandler;
import java.util.logging.Level;

public class MemoryHandlerDemo {
    public static void main(String[] args) {
        MemoryHandlerDemo demo = new MemoryHandlerDemo();
        try {
            demo.testMethod();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void testMethod() throws Exception {
        Logger logger = Logger.getLogger(MemoryHandlerDemo.class.getName());
        FileHandler fileHandler = new FileHandler("myapp.log");

        // 创建一个MemoryHandler,将转储日志消息 
        // 当Level.SEVERE日志记录到最近的100条记录
        // 记录器类。
        MemoryHandler memoryHandler = new MemoryHandler(fileHandler, 100, Level.SEVERE);
        logger.addHandler(memoryHandler);

        // 将一些消息写入日志
        logger.info("Information message");
        logger.warning("Warning message");

    // 这将导致日志消息转储到文件日志中。
        logger.severe("Severe message");
    }
}

要检查消息是否已记录,可以打开myapp.log此小程序创建的文件。