Java.util.logger继续写入新的日志文件

时间:2014-10-23 16:15:30

标签: java jsp logging

我遇到了这个问题,我的记录器一直在写一个新文件

    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

2 个答案:

答案 0 :(得分:5)

完成后,您需要使用fh.close()关闭文件处理程序。否则,您将文件锁定。这就是为什么你的图像显示这么多锁文件打开的原因!

答案 1 :(得分:2)

指定附加到现有文件的第二个参数。(以追加模式打开文件)

 fh = new FileHandler("logFileName.log",true); // true specify append mode