温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么过滤日志内容

发布时间:2026-07-17 13:51:46 来源:亿速云 阅读:85 作者:小樊 栏目:编程语言

过滤日志内容的方法取决于日志格式、过滤目的、使用的工具。下面按常见场景给你一套实用指南,从简单到进阶。


一、按关键词过滤(最常用)

1️⃣ Linux / macOS 命令行

查看包含某关键词的日志

grep "ERROR" app.log

忽略大小写

grep -i "error" app.log

排除某些内容

grep -v "INFO" app.log

同时过滤多个关键词

grep -E "ERROR|WARN" app.log

显示行号

grep -n "ERROR" app.log

二、按时间范围过滤

1️⃣ 日志带时间戳(如 2025-01-20 10:00)

grep "2025-01-20 10:" app.log

2️⃣ 使用 sed 按时间区间

sed -n '/2025-01-20 10:00/,/2025-01-20 11:00/p' app.log

三、按日志级别过滤(INFO / WARN / ERROR)

示例日志

2025-01-20 10:00:01 INFO  Starting app
2025-01-20 10:00:02 ERROR Failed to connect

过滤 ERROR

grep " ERROR " app.log

过滤非 ERROR

grep -v " ERROR " app.log

四、结构化日志(JSON)过滤(推荐)

如果日志是 JSON:

{"time":"2025-01-20T10:00:00","level":"ERROR","msg":"db fail"}

使用 jq

jq 'select(.level=="ERROR")' app.log

多条件

jq 'select(.level=="ERROR" and .msg | contains("db"))' app.log

五、实时过滤日志(tail + grep)

tail -f app.log | grep "ERROR"

只显示错误日志,实时更新。


六、按文件大小 / 行数过滤

查看最后 100 行

tail -n 100 app.log

查看前 50 行

head -n 50 app.log

七、日志分析工具(进阶)

工具 适用场景
awk 按列、复杂条件
jq JSON 日志
ELK (Elasticsearch + Logstash + Kibana) 大规模日志
Grafana + Loki 云原生日志
Splunk 企业级

awk 示例:按列过滤

awk '$3=="ERROR"' app.log

八、常见过滤需求速查

需求 示例
只看错误 grep ERROR app.log
排除心跳日志 grep -v "heartbeat" app.log
某接口日志 grep "/api/login" app.log
某用户 grep "user_id=123" app.log
某 IP grep "192.168.1.1" app.log

九、我可以进一步帮你

你可以直接告诉我:

  • ✅ 日志是 文本 / JSON / 自定义格式
  • ✅ 想过滤 什么内容
  • ✅ 用什么环境(Linux / Windows / Docker / K8s)
  • ✅ 是否要 实时 / 离线

我可以给你精确命令或脚本

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI