📝 完整 Prompt
实现一个日志分析功能。
输入:
- 应用日志文件(每行一条日志)
- 日志格式: [时间] [级别] [模块] 消息
需要实现:
1. 解析日志,提取字段
2. 按时间范围过滤
3. 按级别分类(ERROR, WARN, INFO, DEBUG)
4. 统计各类日志的数量
5. 找出最常出现的错误(top 10)
6. 计算错误率(错误日志/总日志)
处理特殊情况:
- 格式不正确的日志行如何处理?
- 日志中含有中文如何处理?
- 超大文件(>1GB)如何优化?
输出:
{
total_lines: int,
error_count: int,
error_rate: float,
by_level: {ERROR: int, WARN: int, ...},
top_errors: [{message, count}, ...],
time_range: {start, end}
}
要求:
- 支持流式处理(处理大文件)
- 性能要求:<5秒处理100MB日志
- 内存占用<100MB
- 支持并行处理
请提供:
1. 核心处理代码
2. 错误处理机制
3. 性能优化方案
4. 单元测试示例