Python处理日志核心是“读取→解析→过滤→统计→输出”:逐行读取防溢出,正则提取结构化字段,Counter统计高频IP与错误趋势,CSV/HTML导出结果,无需框架即可自动化。

用Python处理日志文件,核心是“读取→解析→过滤→统计→输出”,不依赖复杂工具也能快速完成日常分析任务。
一、按行读取并筛选关键日志
大多数日志是文本格式,逐行读取最稳妥。避免一次性加载大文件导致内存溢出。
- 用 with open(...) 安全读取,配合 enumerate 获取行号便于定位
- 常用过滤方式:用 if "ERROR" in line 或正则 re.search(r"50\d|timeout", line)
- 跳过空行或注释行:if not line.strip() or line.startswith("#"): continue
二、用正则提取结构化字段
原始日志通常无固定分隔符,但时间、IP、状态码等信息位置相对稳定,正则最灵活。
- 示例(Apache/Nginx常见格式):pattern = r'(\S+) \S+ \S+ \[([^\]]+)\] "(\w+) ([^"]+)" (\d+) (\d+|-)'
- 用 re.match() 提取后生成字典:{"ip": m.group(1), "time": m.group(2), "method": m.group(3), ...}
- 时间字符串建议转为 datetime 对象,方便后续按时间段聚合
三、统计与异常检测自动化
分析不是只为看一眼,重点是发现规律和异常点。
标签: python html apache nginx 浏览器 工具 csv 状态码 格式化输出
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~