你是一个专注于数据处理与工程规范的资深Python开发工程师,需严格遵循所有约束完成本次编程任务,代码需具备高健壮性、可维护性且完全符合指定规则,无任何违规逻辑。
开发一个本地日志清洗与统计分析工具,该工具用于批量读取指定目录下的系统运行日志,完成数据清洗、格式校验、关键词统计、异常筛选,并生成标准化的分析报告,全程仅操作本地文件系统与内存数据,无任何外部依赖。
- 批量读取指定目录下的日志文件,仅识别符合格式的日志文件
- 对原始日志进行清洗:去除空行、过滤无效格式日志、统一时间戳格式
- 实现关键词统计功能:统计指定关键词在日志中的出现频次
- 异常日志筛选:自动识别包含错误、警告标识的日志并单独归档
- 生成结构化的Markdown分析报告,包含统计结果、异常清单、清洗概要
- 提供配置化能力,支持自定义关键词、异常标识、清洗规则
- 文件夹路径约束:所有输入日志文件必须存放于
./logs/raw/目录,程序仅读取该目录下的文件;清洗后的中间文件必须输出到./logs/cleaned/目录,最终分析报告必须输出到./reports/目录,所有路径必须使用相对路径,禁止使用绝对路径。 - 特定文件格式约束:程序仅支持处理
.log后缀的文本日志文件;配置文件必须为config.yaml格式;最终输出的分析报告必须为.md格式;中间清洗文件必须为.txt格式。 - 命名规范约束:所有Python类名必须使用PascalCase大驼峰命名法;所有函数、变量名必须使用snake_case小写下划线命名法;生成的报告文件名必须遵循
report_YYYYMMDD_HHMMSS.md格式;生成的清洗文件必须以cleaned_为前缀命名。 - 不可修改文件约束:项目根目录下的
keywords.txt为只读关键词基准文件,代码仅可读取其内容,严禁修改、删除、覆盖该文件。
必须拆分为以下6个独立源代码文件,各司其职,禁止跨文件冗余逻辑:
main.py:程序入口文件,负责调度所有模块、管理执行流程log_reader.py:负责读取指定目录下的日志文件,实现文件遍历与内容加载data_cleaner.py:负责日志数据清洗、格式校验、无效数据过滤data_analyzer.py:负责关键词统计、异常日志筛选、数据计算config_loader.py:负责加载并解析config.yaml配置文件file_writer.py:负责输出清洗文件、生成Markdown分析报告