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

如何使用Python解析日志文件中的JSON对象并按指定条件筛选输出

实现方案

你可以直接用Python内置的json模块完成需求,不需要安装第三方依赖,代码如下:

import json

# 配置区:替换为你自己的文件路径
INPUT_LOG_PATH = "你的日志文件路径.log"
OUTPUT_RESULT_PATH = "筛选后的结果.log"

# 配置筛选条件,可根据自己的需求修改
def is_matched(json_obj):
    # 示例条件:event下的type为TEST_RESULTS,且event.data下的status为Unresolved
    # 你可以自行增删修改条件
    if json_obj.get("event", {}).get("type") == "TEST_RESULTS" and json_obj.get("event", {}).get("data", {}).get("status") == "Unresolved":
        return True
    return False

if __name__ == "__main__":
    with open(OUTPUT_RESULT_PATH, "w", encoding="utf-8") as out_f:
        with open(INPUT_LOG_PATH, "r", encoding="utf-8") as in_f:
            for line in in_f:
                # 跳过空行
                line = line.strip()
                if not line:
                    continue
                try:
                    # 解析当前行的JSON
                    json_data = json.loads(line)
                    if is_matched(json_data):
                        # 符合条件的行直接写入输出文件
                        out_f.write(line + "\n")
                except json.JSONDecodeError:
                    # 遇到不符合JSON格式的行直接跳过,也可以根据需求改成打印告警
                    continue

使用说明

  1. 把代码里的INPUT_LOG_PATH改成你本地的日志文件的实际路径,OUTPUT_RESULT_PATH改成你想要存放结果的文件路径
  2. 如果需要调整筛选规则,直接修改is_matched函数里的判断条件即可
  3. 把代码保存为filter_log.py,在命令行执行python filter_log.py就能得到筛选后的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:18:03