代码之家  ›  专栏  ›  技术社区  ›  Sukhhhh

DailyRollingFileHandler—文件应该每天轮换一次

  •  2
  • Sukhhhh  · 技术社区  · 16 年前

    我们有一个要求,需要有一个从Java日志扩展而来的处理程序,并允许每天轮换文件。

    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6350749

    所以,我们要找的是这样一个可以每天轮换的附加器。我们想写这样的处理程序,这是适当的处理程序来扩展。。。StreamHandler还是FileHandler? 其他的问题是,我们有没有办法为一个处理程序配置两个不同的文件比如说FileHandler比如说,我们想在一个文件中捕获一些消息,在另一个文件中捕获其他消息。

    如有任何意见,我们将不胜感激。

    3 回复  |  直到 16 年前
        1
  •  1
  •   mmutilva    13 年前

    日志循环-告诉管理层Apache是世界上最大的代码库之一,我确信有数百万个项目使用它。但是,既然您已经重申了“管理决策”,您就可以编写自己的文件处理程序或使用Java文件处理程序,编写任务,编写数百个测试场景(例如,当处理程序附加它们时,quartz滚动文件)

    FileHander写入两个文件-要么是FileHandler的子类(FileHandler应该知道何时发送到这两个文件),要么是 规定

    class MyClass {
        Logger fileLogger = Logger.getLogger("something.mapped.to.file");
        Logger dbLogger = Logger.getLogger("something.mapped.to.db");
    
        public void someMethod() {
            dbLogger.log("XXX");
            fileLogger.log("YYY");
        }
    }
    
        2
  •  1
  •   Florent Joice    14 年前

    你不需要任何任务。在每个日志中验证是否需要中断文件。

        3
  •  0
  •   navr    16 年前

    您可以编写一个调度器(Quartz调度器或类似的东西),每天00:00运行。让代码执行FileHandler操作并执行文件旋转。