最近发现一个奇怪的问题,就是一个pyhton 后台的服务一直打印日志文件,在中间我用vim看日志文件,关闭时习惯性的:wq退出,在此之后日志文件就不输出了。
1 对于这个现象我开始认为是python logging模块存在问题,对文件异常处理不好
2 后来看文件的inode信息,发现python程序不管是修改还是追加都不会改变文件的inode信息,而vim以修改方式关闭文件时则是会修改文件inode信息,这样就会导致
logging 以前打开文件句柄失效,所以没法再次打印文件了
3 如果要解决这个bug,可以修改logging模块获取文件句柄的方式,可以每隔1分钟再次获取文件句柄