程序未正常结束导致Logging再次写日志失败

在Lab4实验过程中,出现了写日志失败的情况。
在程序中多次调用含有log方法的程序,日志存放的文件log.txt却未发生变化。
在确保方法调用无误后,打开存放log.txt的文件夹,发现多了如下文件:
程序未正常结束导致Logging再次写日志失败
于是我删除了log.txt.1及log.txt.lck。
再次运行程序,日志写入文件成功。

.lck文件

lck是lock的缩写。(这类文件其实之前我们也接触过,使用VMware虚拟机运行Linux系统过程中,虚拟机对应的文件夹就出现过.lck文件。当时遇到过虚拟机不存在的错误,有一种解决办法就是删除.lck文件。说到这里对它的作用就有了一些基本判断。.lck文件应该是对文件的一种锁定方式,所以log方法不能顺利写入文件。

验证

为了验证猜想,首先恢复了回收站的这两个文件,果然,运行失败。。。
再次删除,再次运行程序,在未调用log方法前,文件夹没有任何变化。在第一次调用log方法后,文件夹中多了log.txt.lck文件
程序未正常结束导致Logging再次写日志失败
在程序未正常退出时,再次点击运行按钮,文件夹中依旧如上图所示。再次调用log方法,文件夹中又多了几个文件
程序未正常结束导致Logging再次写日志失败
尝试删除这几个文件,跳出提示框
程序未正常结束导致Logging再次写日志失败
程序正在向log.txt.1中进行写操作,log.txt.1未能删除。

结束程序运行后,对多余的文件进行清空。再次运行,程序第一次未正常退出,第二次正常退出,两次都调用了log方法记录日志。
打开log.txt和log.txt.1发现两个文档分别记录了两次日志。
所以以后要使用Logging记录日志的时候,要记得正常退出程序,否则日志就不能写到你指定的文档中啦。