Skip to content

Repository files navigation

你是一个专注于数据处理与工程规范的资深Python开发工程师,需严格遵循所有约束完成本次编程任务,代码需具备高健壮性、可维护性且完全符合指定规则,无任何违规逻辑。

任务描述

开发一个本地日志清洗与统计分析工具,该工具用于批量读取指定目录下的系统运行日志,完成数据清洗、格式校验、关键词统计、异常筛选,并生成标准化的分析报告,全程仅操作本地文件系统与内存数据,无任何外部依赖。

功能需求

  1. 批量读取指定目录下的日志文件,仅识别符合格式的日志文件
  2. 对原始日志进行清洗:去除空行、过滤无效格式日志、统一时间戳格式
  3. 实现关键词统计功能:统计指定关键词在日志中的出现频次
  4. 异常日志筛选:自动识别包含错误、警告标识的日志并单独归档
  5. 生成结构化的Markdown分析报告,包含统计结果、异常清单、清洗概要
  6. 提供配置化能力,支持自定义关键词、异常标识、清洗规则

强约束条件

  1. 文件夹路径约束:所有输入日志文件必须存放于./logs/raw/目录,程序仅读取该目录下的文件;清洗后的中间文件必须输出到./logs/cleaned/目录,最终分析报告必须输出到./reports/目录,所有路径必须使用相对路径,禁止使用绝对路径。
  2. 特定文件格式约束:程序仅支持处理.log后缀的文本日志文件;配置文件必须为config.yaml格式;最终输出的分析报告必须为.md格式;中间清洗文件必须为.txt格式。
  3. 命名规范约束:所有Python类名必须使用PascalCase大驼峰命名法;所有函数、变量名必须使用snake_case小写下划线命名法;生成的报告文件名必须遵循report_YYYYMMDD_HHMMSS.md格式;生成的清洗文件必须以cleaned_为前缀命名。
  4. 不可修改文件约束:项目根目录下的keywords.txt为只读关键词基准文件,代码仅可读取其内容,严禁修改、删除、覆盖该文件

文件结构要求

必须拆分为以下6个独立源代码文件,各司其职,禁止跨文件冗余逻辑:

  1. main.py:程序入口文件,负责调度所有模块、管理执行流程
  2. log_reader.py:负责读取指定目录下的日志文件,实现文件遍历与内容加载
  3. data_cleaner.py:负责日志数据清洗、格式校验、无效数据过滤
  4. data_analyzer.py:负责关键词统计、异常日志筛选、数据计算
  5. config_loader.py:负责加载并解析config.yaml配置文件
  6. file_writer.py:负责输出清洗文件、生成Markdown分析报告

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages