商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何用grep在Ubuntu上搜索Node.js日志

如何用grep在Ubuntu上搜索Node.js日志

  发布于2026-07-04 阅读(0)

扫一扫,手机访问

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

如何用grep在Ubuntu上搜索Node.js日志

首先,得知道日志文件在哪。这是最基础的一步,也是最容易卡住新人的地方。Node.js 应用的日志位置通常比较固定:要么就在项目根目录下的 logs 文件夹里,要么就被重定向到了系统日志目录,比如 /var/log/ 下面。实在找不到的话,可以翻翻应用的启动脚本或者 pm2forever 这类进程管理工具的配置,里面一般都写明了日志路径。

找到文件之后,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 -fgrep 组合起来。想象一下,你正在压测应用,控制台不断刷日志,你想立刻捕捉新出现的 ERROR 行,这个命令就派上用场了:

tail -f app.log | grep 'ERROR'

有几个很常用的小技巧值得记住。比如,搜索时希望忽略大小写,避免因为 Errorerror 写法不同而漏掉信息,加上 -i 就行:

grep -i 'error' app.log

另外,当匹配结果非常多的时候,最好能把行号也显示出来,方便快速定位和上下文查看。用 -n 参数就能搞定:

grep -n 'ERROR' app.log

掌握了这些基本用法,在 Ubuntu 上用 grep 翻 Node.js 日志基本上就没什么障碍了。从简单的关键词匹配,到结合正则、实时监控,再到忽略大小写和显示行号,这套组合拳足够应对大多数线上问题排查场景。

本文转载于:https://www.yisu.com/ask/28588916.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注