日志管理-处理关闭或重新启动(关闭挂钩)

时间:2019-04-10 14:41:57

标签: java logging apache-commons-logging

我想监视我的日志,所以我正在使用Commons IO Tailer。我有一个应用程序,将一个日志文件拖到硬盘上并解析每个日志行。我想知道应用程序重新启动或关闭时的最后拖尾位置。

问题在于Tailer不知道尾行是什么。它只是“打印”附加到日志文件的行。

我的尾巴:

public static void startTailing(){
    TailerListener listener = new TailerListener();

    try{
        String logPath = PropertiesLoader.getLogPath();

        File logFile = new File(logPath);
        Tailer tailer = new Tailer(logFile, listener, TAIL_DELAY);
        tailer.run();
    }catch(Exception e){
        e.printStackTrace();

    }

}

我的听众:

public class TailerListener extends TailerListenerAdapter {   
    @Override
    public void handle(String line) {
       LineParser parser = new LineParser();
       //parsing each line
       parser.parseLogLine(line);     
    }
}

例如,该应用程序记录了1500条日志行,然后由于某种原因关闭了该应用程序,日志获得了+2000条新行。当我重新启动应用程序时,尾部将仅显示最后几行,并且将错过大多数行。在重新启动或关闭的情况下,如何获得完整的2000行。

0 个答案:

没有答案