用 Emacs 过滤大日志

发现 Emacs 查日志还蛮方便的,只要 grep 出关键字,save 到一个单独的 buffer 里,就可以慢慢看了。但有的日志很大,大到按下 C-s,输入一个字符就卡住。虽然有时日志很大,但是真正关心的只有那么几百行。

最近发现 vlf-mode 查日志很好用,可以分批(batch)看日志,先根据 时间/关键字 找关心的批次。并且vlf-mode 还提供 occur 的功能。

https://writequit.org/articles/working-with-logs-in-emacs.html

5 个赞

另外一个好建议是给 find-file 加一个 hook,打开大文件时,默认开启 readonly。

学习了。有空用一下。

不知道用vim有什么好的看log的方法。机器上是不会装emacs。一般只能

tail -f xxx|grep -v ???|less

ag、rg也默认不安装。

可以试下 lnav

lnav: vim for log

visidata: vim for data

感觉 follow mode 比较好用呀,有种划屏截图的感觉

1 个赞

C-s是Emacs内置的增量搜索。用外部进程搜索就不会卡住了,我用的是ivy的counsel-grep-or-swiper,根据buffer大小会自动切换到外部grep进程搜索。

文中说的 termbin 是一种解决方式

500M 左右的日志,helm/ivy的增量 rg 几秒内显示不完,如果直接按 C-x C-s 保存的过滤日志会不全