Docker日志查看和应用日志查看命令大全

grep 参数 作用

-B 50 显示匹配行的前 50 行(Before)

-A 50 显示匹配行的后 50 行(After)

-C 50 显示匹配行的前后各 50 行(Context),等同于 -B 50 -A 50

docker日志查看

docker logs 7dd1fb17861b | grep -C 50 "error"

查看容器最后1000行日志中,包含"iptables"的前后50行

docker logs --tail 1000 7dd1fb17861b | grep -C 50 "iptables"

查看2025-12-20 10:00到现在的日志中,包含"failed"的前后50行

docker logs --since "2025-12-20 10:00" 7dd1fb17861b | grep -C 50 "failed"

只查看最近1小时的日志,再筛选关键词的前后50行

docker logs --since 1h 7dd1fb17861b | grep -C 50 "error"

实时跟踪日志,并显示匹配"error"的前后50行

docker logs --follow 7dd1fb17861b | grep --line-buffered -C 50 "error"

应用日志查看

grep -C 50 "error" sever.log

只查看 app.log 最后10000行中,包含"timeout"的前后50行

tail -n 10000 app.log | grep -C 50 "timeout"

查看 app.log 中2025-12-20之后的日志,包含"error"的前后50行(适用于按时间戳记录的日志)

grep "2025-12-20" app.log | grep -C 50 "error"

筛选2025-12-22 10:00到11:00之间的日志

grep "2025-12-22 10:0-50-9" app.log

筛选2025-12-22当天的日志

grep "2025-12-22" app.log

结合awk筛选时间范围(更精准)

awk '/2025-12-22 10:00:00/,/2025-12-22 11:00:00/' app.log

实时跟踪 app.log,显示包含"exception"的日志的前后50行

tail -f app.log | grep --line-buffered -C 50 "exception"

若日志被压缩为.gz格式,用zgrep(直接处理压缩文件,用法与grep一致):

查看 app.log.gz 中包含"error"的前后50行

zgrep -C 50 "error" app.log.gz

统计日志中"ERROR"出现的次数

awk '/ERROR/ {count++} END {print count}' app.log

用less打开日志

less app.log

/error # 向下搜索"error"关键词(按n下一个,N上一个)

?info # 向上搜索"info"关键词

50k # 向上翻50行

50j # 向下翻50行

G # 跳转到日志末尾

g # 跳转到日志开头

相关推荐
我是唐青枫9 分钟前
Java JdbcTemplate 实战指南:用 Spring 轻量完成数据库增删改查
java·数据库·spring
思麟呀13 分钟前
C++11并发编程:call_once一次性执行+atomic原子类型+CAS无锁编程+自旋锁
linux·开发语言·jvm·c++·windows
Lumbrologist31 分钟前
【C++】零基础入门 · 第 13 节:类与对象基础
java·c++·算法
码不停蹄的玄黓37 分钟前
Java 生产者-消费者模型详解
java·开发语言·python
爱讲故事的40 分钟前
操作系统第一讲复习:为什么学习操作系统,以及操作系统到底在做什么?
linux·开发语言·windows·学习·ubuntu·c#
笨蛋不要掉眼泪44 分钟前
Java并发编程:Executors框架类深度解析
java·开发语言·并发
南极企鹅1 小时前
深入理解 MVCC:数据库并发控制的基石
java·数据库·mysql
凯瑟琳.奥古斯特1 小时前
力扣1235:加权区间调度最优解
java·python·算法·leetcode·职场和发展
_童年的回忆_1 小时前
【php】在linux下PHP安装amqp扩展
linux·开发语言·php
想不到ID了2 小时前
第八篇: 登录注册功能实现
java·javascript