Java.util.logger 不断写入新的日志文件

标签 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

最佳答案

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

关于Java.util.logger 不断写入新的日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532570/

相关文章:

java - 在jsp中使用java和html打印列表

asp.net - ILoggingBuilder 没有参数为 0 的 AddEventSourceLogger。如何初始化此日志记录

java - 在 EJB 3.1 中,容器如何在技术上代理并有效地欺骗我的无接口(interface)对象?

java - JWT 的 REST 安全性

java - 无法使用 ${param.xxx} 使用 HTML 表单访问 JSP 参数

java - Ubuntu中通过systemd单元运行java程序时不产生日志文件

logging - logback:合并控制台和 logstash json 的键/值

java - 验证该行在 mySQL 表中是否不可用

java - flutter 说它 'Could not resolve project'

jsp - 在JSP中获取今天的日期并将其与Date变量进行比较