Python日志实时读取
来自CloudWiki
基本操作
日志输出端
import logging logging.basicConfig( level=logging.DEBUG, format="%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s", # 日志的格式 datefmt=" %Y-%m-%d %H:%M:%S", # 时间格式 filename="./lx_log1.log", # 指定文件位置 filemode="a", ) while True: try: num = input("请输入一个整数: ") if num == 'q': break; num = eval(num) print(num**2) logging.info("info message:input an number" +str(num)) except NameError: print("输入错误,请输入一个整数!") logging.error("input message:input error,pls input an num") logging.info("end message:退出循环")
日志读取端
from time import sleep start_point=0 def read_logs(): fo = open("./lx_log1.log", "rb") # 一定要用'rb'因为seek 是以bytes来计算的 global start_point #使用全局变量,让start_point 时刻保持在已经输出过的那个字节位 fo.seek(start_point, 1)#移动文件读取指针到指定位置 for line in fo.readlines(): print ("文件: ", fo.name, str(line.decode())) #输出后的指针位置赋值给start_piont start_point=fo.tell() fo.close() if __name__=='__main__': while True: read_logs() sleep(1)
效果图
进阶操作
分析日志信息,普通信息有多少,警告有多少,错误有多少
高级操作
将日志信息在图表上实时显示