在这个例子中,我们展示了使用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此小程序创建的文件。