软件构造课程心得(8)

在完成lab4之后,我对日志有了很多自己的理解,这里与大家分享一下。

1、日志的创建

日志的创建其实很简单
首先定义一个日志类
在这里插入图片描述
然后输出任意的字符串,只需要这两步操作我们就生成了日志
在这里插入图片描述

但是,我们的日志不能仅仅输出,我们也要用txt文件将每个日志的详细信息记录下来,所以我们就要进行下面的操作

首先创建FileHandler类,这个类就是用来将所有日志记录到txt文件中的。
在这里插入图片描述

然后用储存日志的文件的位置来创建FileHandler类
在这里插入图片描述

最后再设定fh所记录日志的规格(这个接下来会详细讲),然后再将fh加入到log中就完成。
在这里插入图片描述
接下来我将介绍一下Myformatter类,这个类是我们自己写的,用来规定我们日志的规格。
可以看到我们的Myformatter类继承了Formatter
我们重写了format方法,因为我们需要记录每个日志的时间,所以我们需要设定TimeZone,并且获取sData作为日志发生时的时间。然后就是最后的return,这里我们return的就是我们记录的日志,有时间,日志等级,日志的名字,日志的信息,等等。这样做可以让我们记录的日志更加的规范。
在这里插入图片描述


2、日志中出现的问题


在做好上面的步骤之后,我发现我的日志时好时坏,有的时候会出现无法记录的情况。同时会出现lck这种锁文件。每当我的文件里出现了这样的lck文件,我就发现我原本的文件是无法写入的。
在这里插入图片描述
为了找到这种致命的问题,我反复进行实验,然后我发现实际上每次我运行程序的时候都会出现lck,然后当正常结束文件的时候lck文件会自动消失,而当lck文件没有自动消失的时候,我再次运行文件就无法对文件写入了。

而这种问题的出现是因为这个函数,
在这里插入图片描述

如果有任何一次循环中我创建了fh,但最后却没有将这个fh给close,那我的文件就会出现lck不消失的情况,之后就再也无法写入,所以每次创建完fh,我们都要记得将fh给close了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值