覆盖每个日志

时间:2016-05-27 10:31:54

标签: logback

我使用文件追加器记下特定事件发生时的当前时间戳。有人可以帮助如何覆盖.log文件,其中只应在任何给定的时间点记录时间戳。

如果我以编程方式删除现有文件并尝试存储值,则在四个事件中,我只能存储第一个和第三个事件,第二个和第四个事件我不会看到.log文件但是我可以在我的控制台上看到一个记录器,表示记录了时间戳(对于所有四个事件)。这是例外,因为我在编程中删除文件,在执行过程中的某个地方。

//timer expired?
if(diffInMin > lagAllowed){
     file.delete();
     return true;
}else{
    LOGGER.info("Can't recorded time for next \"{}\" minutes",(lagAllowed - diffInMin) );
    return false;
}

1 个答案:

答案 0 :(得分:0)

一种解决方案是使用PrintWriter。如果该文件存在,那么它将被截断为零大小。

//timer expired?
if(diffInMin > lagAllowed){
     PrintWriter writer = new PrintWriter(file);
     writer.close();
     return true;
}else{
    LOGGER.info("Can't recorded time for next \"{}\" minutes",(lagAllowed - diffInMin) );
    return false;
}