起因:
因为刚进入新公司,对业务需求不太熟悉,但工作强度比较大,系统模块较多(10+个),日志文件分散(每个模块都有个单独日志),给开发定位问题常常出现定位不准,缺陷提交给错误的开发。决定写下这个脚本,希望对其他人有帮助。
开发环境:win10 + python3.6.4
运行环境:linux + python3.6.5
代码:
import time import threading import configparser def readfile(pathlist,file): # 将文件路径与文件名组合起来,返回list file_name = [] for i in pathlist: file_name.append(i + file) return file_name def writefile(thefile,Modules,ini): # 写文件 logfile = open(thefile,'r') logfile.seek(0,2) # 目标文件路径,与文件名获取 conf = configparser.ConfigParser() conf.read(ini) with open(conf.get('target','pathandname'), 'a') as f: while True: line = logfile.readline() if not line: time.sleep(0.001) continue # 将模块名和日志内容输出 f.write(Modules+line) # 将缓存的剩余内容全部打印出来,不加flush,日志文件会被截取