日志实时监控与分析:使用 tail 和 grep 提升开发者日志管理技能

查看日志是一个程序员必备的技能,尤其是项目部署在linux系统,当线上出现问题的时候除了日志平台能够直观的查看项目的运行情况以外,用的最多的可能就是在linux中查看日志了,虽然通过cat或tail都可以很直观的观察实时日志的打印,但日志多的情况下你是否也需要一行一行的看执行结果呢,这样显然是时分浪费时间的,今天就说一下节省时间的查看日志方式。

1. 实时查看日志

lua 复制代码
tail -f nohup.log

上述命令将持续输出日志文件的尾部内容,并在文件有新的日志条目时实时刷新。

控制台打印样例

2. 过滤查看日志

有时候,日志文件可能包含大量信息,但我们只对某些特定的关键字感兴趣。这时,grep 命令就派上用场了。例如,如果我们只关心包含 "206" 的日志:

bash 复制代码
tail -f test.log | grep "206"

控制台打印样例

如果想过滤多个字段呢,又该怎么写

tail -f test.log | grep "206|Kafk"

只需要在原来的基础上用|分开即可

控制台打印样例

缺点是什么

这样输出格式只会输出过滤字段所在的行,如果行中不包含过滤字段,则整行日志都不会输出,那假如说有错误日志输出的情况下还是看不了,这样做还是不太方便,那怎么做才是最合理的呢,继续向下看

3. 实时输出+高亮展示+全部内容

现在只需要对tail -f test.log | grep "206|Kafk"命令优化一下即可,优化后的命令:tail -f test.log | grep -E "206|Kafk|$"在末尾追加|$,日志便可以输出所有,意思是匹配到的日志就高亮,匹配不到的则正常输出

控制台打印样例

条件字段不但高亮了而且后续的内容也展示出来了,这样看日志的效率肯定会提高不少

4. 进阶

如果你还想整点花活,那一定少不了进阶版本,命令如下

tail -f test.log | grep -E ".*206.*|Kafk|$"以条件内容206为例,在原来的基础上用.*包裹条件内容,那么输出的格式就是匹配到的条件整行都高亮展示

控制台打印样例

相关推荐
程序猿_极客6 分钟前
【免费】分享一套优质的基于SpringBoot的服装商城管理系统的设计与实现(带可视化图表、协同过滤功能),源码+文档+视频详解(讲解)
java·spring boot·后端·服装商城管理系统
明月_清风32 分钟前
面对陌生的 GitHub 项目无从下手?这 4 个网站帮你快速读懂源码
前端·后端·github
bug菌1 小时前
🤔同事突然问我:Spring的注解 @Component 和 @Service 有何不同?
java·spring boot·后端
leobertlan1 小时前
痛苦系列 | DSP-02 频域切片:DTFT与DFT的探索
android·后端
加我攻城狮1 小时前
当大模型把「景区」定位到附近公共厕所:我的 AI 旅行小程序踩坑实录
后端·微信
Lonely丶墨轩1 小时前
用 Vue + Spring Boot + Python 做一个 AI 双人海龟汤游戏:从出题、联机到自动审稿等核心技术设计与实现
spring boot·后端·游戏
猪猪拆迁队1 小时前
跨电脑复制共享-WebRTC 打洞踩坑
前端·后端·go
ServBay2 小时前
如何用 AI Agent 构建全栈应用(2026版)
后端·ai编程
黎燃2 小时前
我给自己写了一个 mini OpenRouter:基于蓝耘 MaaS 的多模型路由网关实战
后端
leobertlan2 小时前
痛苦系列 | DSP-01 从连续到离散:DSP基础与采样
android·后端