做开发、运维,或者跑服务器相关任务时,天天和日志打交道。系统报错、接口异常、定时任务失败,第一反应就是翻日志。但原始日志文件又大又乱,直接用 cat 或 tail 查,眼睛都快看花了。哪个工具看日志方便?其实有几个趁手的家伙,用了就回不去。
1. 用 less 高效翻大文件
别小看这个老工具。当你的日志文件动辄几百MB甚至上G,vim 打开直接卡死,cat 一刷就滚屏到找不到北。less 就很稳,支持上下滚动、搜索、实时追加,像这样:
less app.log
进入后按 /error 搜错误,按 Shift+F 相当于 tail -f 实时看新增内容。对纯文本场景来说,它轻量又可靠。
2. 日志高亮神器:lnav
如果你受够了黑白日志,试试 lnav。它能自动识别常见日志格式(比如 Nginx、MySQL、Java Spring),自动着色、解析时间戳、结构化展示。安装简单:
sudo apt install lnav # Ubuntu/Debian
brew install lnav # macOS
然后直接打开日志:
lnav app.log
瞬间就能看到不同级别日志用不同颜色标出,还能按时间范围过滤、聚合统计错误频率,排查问题快得多。
3. 多文件集中查:GoAccess 看访问日志
要是你常看网站访问日志(access.log),GoAccess 是个好选择。它能把日志实时解析成网页报表,展示访问来源、URL 热点、状态码分布。
goaccess access.log -a --log-format=COMBINED
加上 -a 参数还能看到 User-Agent 信息。运行后在浏览器打开指定地址,图表清清楚楚,比一行行扫日志直观多了。
4. 本地调试用 VS Code 插件
很多人写代码就在 VS Code 里,装个 Log File Highlighter 插件,打开 .log 文件自动高亮 ERROR、WARN、INFO。颜色区分明显,翻日志不再漏关键信息。配合搜索功能,Ctrl+F 找关键词,效率提升肉眼可见。
5. 上线后集中管理:ELK 或 Loki + Grafana
服务部署到多台机器,日志散落各处,这时候就得上集中方案。ELK(Elasticsearch + Logstash + Kibana)老牌组合,功能强但配置略重。轻量替代是 Grafana Loki,专为日志设计,和 Promtail、Grafana 搭配起来清爽很多。
比如你在 Grafana 里写查询:
{job="api-server"} |= "500"
立刻看到所有服务中返回 500 的请求日志,还能关联指标图一起看,排查链路清晰。
工具不在多,选对场景最重要。本地查错用 lnav + less,访问分析靠 GoAccess,团队协作上 Loki,开发过程用编辑器插件。哪个工具看日志方便?适合自己工作流的,就是最方便的。