发布于2026-07-04 阅读(0)
扫一扫,手机访问
在 Ubuntu 上排查 Node.js 应用的问题,日志文件是第一手信息。但日志一多,手动翻找无异于大海捞针。这时候,grep 就是那个能帮你精准定位的神器。下面这几步,基本覆盖了日常使用的全部场景。

首先,得知道日志文件在哪。这是最基础的一步,也是最容易卡住新人的地方。Node.js 应用的日志位置通常比较固定:要么就在项目根目录下的 logs 文件夹里,要么就被重定向到了系统日志目录,比如 /var/log/ 下面。实在找不到的话,可以翻翻应用的启动脚本或者 pm2、forever 这类进程管理工具的配置,里面一般都写明了日志路径。
找到文件之后,grep 的基础用法就登场了。它的核心逻辑非常直白:从指定文件中,找出包含特定关键词的那些行。
基本命令长这样:
grep [选项] '搜索模式' 文件名
举个例子,想在 app.log 里找出所有报错信息,直接敲:
grep 'ERROR' app.log
如果你的日志分散在多个文件里,比如按照日期切割成了很多小文件,那就需要递归搜索。加上 -r 参数,它能自动钻进当前目录及所有子目录里翻个底朝天:
grep -r 'ERROR' ./logs/
实际用的时候,光搜一个固定的词往往不够灵活。比如你想找带有时间戳的错误信息,或者想匹配某种特定格式的日志行,那就得靠正则表达式了。grep 的 -E 选项就是用来开启扩展正则匹配的。例如,希望匹配形如 [2024-05-20 10:00:00] ERROR 这样的行:
grep -E '\[.*\] ERROR' app.log
很多时候,我们需要一边看日志输出,一边实时抓取最新的错误。这时候可以把 tail -f 和 grep 组合起来。想象一下,你正在压测应用,控制台不断刷日志,你想立刻捕捉新出现的 ERROR 行,这个命令就派上用场了:
tail -f app.log | grep 'ERROR'
有几个很常用的小技巧值得记住。比如,搜索时希望忽略大小写,避免因为 Error 和 error 写法不同而漏掉信息,加上 -i 就行:
grep -i 'error' app.log
另外,当匹配结果非常多的时候,最好能把行号也显示出来,方便快速定位和上下文查看。用 -n 参数就能搞定:
grep -n 'ERROR' app.log
掌握了这些基本用法,在 Ubuntu 上用 grep 翻 Node.js 日志基本上就没什么障碍了。从简单的关键词匹配,到结合正则、实时监控,再到忽略大小写和显示行号,这套组合拳足够应对大多数线上问题排查场景。
上一篇:Linux中C++如何选择库
下一篇:如何提升Linux下PHP安全性
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8