You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取指定文件夹当日日志文件并提取ERROR行生成表格求助

当日错误日志提取与表格生成方案

需求概述

  • 读取指定文件夹内当日生成/修改的所有日志文件
  • 筛选出包含"ERROR"字符串的日志行
  • 生成包含LogName(日志文件名)和ErrorDescription(完整错误日志内容)的结构化表格

Python 实现代码

import os
from datetime import datetime

def extract_today_error_logs(folder_path):
    today = datetime.today().date()
    error_records = []

    # 遍历指定文件夹内的所有文件
    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)
        # 跳过文件夹,仅处理文件
        if not os.path.isfile(file_path):
            continue
        
        # 获取文件最后修改日期,匹配当日才处理
        file_modified_date = datetime.fromtimestamp(os.path.getmtime(file_path)).date()
        if file_modified_date != today:
            continue
        
        # 读取文件并筛选含ERROR的行
        with open(file_path, 'r', encoding='utf-8', errors='ignore') as f:
            for line in f:
                line = line.strip()
                # 兼容带引号和不带引号的ERROR标记
                if '"ERROR"' in line or 'ERROR' in line:
                    error_records.append({
                        'LogName': filename,
                        'ErrorDescription': line
                    })
    
    return error_records

def generate_markdown_table(error_records):
    if not error_records:
        return "无当日错误日志记录"
    
    # 构建Markdown表格结构
    table = "| LogName | ErrorDescription |\n"
    table += "|---------|------------------|\n"
    # 填充每行数据,处理特殊字符避免格式错乱
    for record in error_records:
        clean_desc = record['ErrorDescription'].replace('|', '\\|')
        table += f"| {record['LogName']} | {clean_desc} |\n"
    return table

# 示例调用(替换为实际日志文件夹路径)
if __name__ == "__main__":
    target_folder = "/your/log/folder/path"
    error_logs = extract_today_error_logs(target_folder)
    print(generate_markdown_table(error_logs))

关键逻辑说明

  • 当日文件过滤:通过文件最后修改时间与当日日期对比,确保只处理当日更新的日志文件
  • 错误行识别:同时兼容带双引号的"ERROR"和普通ERROR标记,覆盖常见日志格式
  • 表格格式化:自动处理日志中的特殊字符,避免Markdown表格格式错乱

示例输出

LogNameErrorDescription
app.log2023.04.17D07:05:42 : ERROR : Failed to connect
auth.log2023.04.17D09:12:34 : ERROR : Invalid credentials

内容的提问来源于stack exchange,提问作者Code Enthusiast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:42:18