验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

怎么过滤日志内容

阅读:302 来源:乙速云 作者:代码code

怎么过滤日志内容

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


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

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)
  • ✅ 是否要 实时 / 离线

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

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>