我遇到了这个问题,我的记录器一直在写一个新文件
Logger logger = Logger.getLogger("NewLogger");
FileHandler fh;
//create log file string
Date date = new Date();
String yyyyMMdd = new SimpleDateFormat("yyyy-MM-dd").format(date);
String logFileName = "retrieveproductstracking_" + yyyyMMdd;
fh = new FileHandler("./" + logFileName + ".log");
logger.addHandler(fh);
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.setUseParentHandlers(false);
logger.info(request.getRemoteAddr() + ", " + url + ", " + "timestamp" );
此代码用于调用它的JSP中,并且记录器记录URL,IP。问题是记录器每次都写入一个新文件,但不仅如此......它也会在之前写入所有以前的文件。
不完全是我在旋转日志时的想法。
见图片:http://puu.sh/cnu39/8b814e9f3f.png http://puu.sh/cnvKw/8c0e5dce11.png
答案 0 :(得分:5)
完成后,您需要使用fh.close()
关闭文件处理程序。否则,您将文件锁定。这就是为什么你的图像显示这么多锁文件打开的原因!
答案 1 :(得分:2)
指定附加到现有文件的第二个参数。(以追加模式打开文件)
fh = new FileHandler("logFileName.log",true); // true specify append mode