这个包是在网上找到的,每次运行都是重写日志文件,也就是说以前的日志没有了.
但我不知道怎么改改才能向日志文件中追加日志,而不是重写日志文件?
请各位帮我改改
import java.util.logging.*;import java.io.*;public class MemoryHandlerTest { FileHandler fhandler; Logger logger; MemoryHandler mhandler; MemoryHandlerTest() { try {
//构造名为my.log的日志记录文件
fhandler = new FileHandler("D:\\javacode\\myThread\\my.log");
int numRec = 5;
//构造一个5个日志记录的MemoryHandler,
//其目标Handler为一个FileHandler
mhandler = new MemoryHandler (fhandler, numRec, Level.OFF) ; //构造一个记录器 logger = Logger.getLogger("com.mycompany"); //为记录器添加一个MemoryHandler logger.addHandler(mhandler);
} catch (IOException e) {
}
} public static void main(String args[]) { MemoryHandlerTest mt = new MemoryHandlerTest(); int trigger = (int)(Math.random()*100); for (int i=1;i<100;i++) { //在MemoryHandler中缓存日志记录 mt.logger.log(Level.INFO,"日志记录"+i); if (i==trigger) { //触发事件成立,显式调用MemoryHandler的//push方法触发目标Handler输出日志记录到//my.log文件中 mt.mhandler.push();
break; } } }}
但我不知道怎么改改才能向日志文件中追加日志,而不是重写日志文件?
请各位帮我改改
import java.util.logging.*;import java.io.*;public class MemoryHandlerTest { FileHandler fhandler; Logger logger; MemoryHandler mhandler; MemoryHandlerTest() { try {
//构造名为my.log的日志记录文件
fhandler = new FileHandler("D:\\javacode\\myThread\\my.log");
int numRec = 5;
//构造一个5个日志记录的MemoryHandler,
//其目标Handler为一个FileHandler
mhandler = new MemoryHandler (fhandler, numRec, Level.OFF) ; //构造一个记录器 logger = Logger.getLogger("com.mycompany"); //为记录器添加一个MemoryHandler logger.addHandler(mhandler);
} catch (IOException e) {
}
} public static void main(String args[]) { MemoryHandlerTest mt = new MemoryHandlerTest(); int trigger = (int)(Math.random()*100); for (int i=1;i<100;i++) { //在MemoryHandler中缓存日志记录 mt.logger.log(Level.INFO,"日志记录"+i); if (i==trigger) { //触发事件成立,显式调用MemoryHandler的//push方法触发目标Handler输出日志记录到//my.log文件中 mt.mhandler.push();
break; } } }}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货