我为什么写了一个 Syslog 查看器
做了这么多年嵌入式 / Linux 开发,各种日志方案其实都试过了。
但一直没有一个用起来特别顺手的 syslog GUI :要么太原始,只能凑合看;要么太重,一上来就是一整套系统。
大多数时候,我只是想把日志看清楚、看快一点。
后来就干脆自己写了一个:SyslogFUI
开源仓库地址:https://github.com/sky5454/syslogFUI/

嵌入式调试:很多时候只能看日志
设备一旦出问题,现场通常没有图形界面,只剩串口和日志。
实际体验基本是这样:
- 串口带宽有限,日志一多就淹没
- 远程只能
ssh上去tail -f - 稍微复杂一点就开始
grep - 多条问题对比基本靠脑子记或者每次都需要导出文件对比
所以在做 SyslogFUI 的时候,思路很简单:
不再"看文本",而是把日志当成数据流来处理
设备侧就是一个很小的后端程序:
- 监听 UDP 514(支持 TCP)
- 自动解析 RFC 5424
- 拆分字段:severity / host / message 等
应用设置syslog地址后:
- 按 severity 过滤(error / critical 一眼看到)
- 关键词搜索,输入即定位过滤/高亮
- 多主机同屏对比,差异直接可见
Linux 服务器:不用再一台一台登
多台服务器时,以前基本是这样:
text
ssh连接/串口 A → grep
问题不只是慢,而是:
很容易漏信息,也很难形成整体判断
SyslogFUI 做的事情其实很直接:
- 日志集中在一个界面
- 按 hostname 过滤
- 按 severity 分级筛选
- 搜索历史(↑ ↓ 快速翻)
- 支持 多行选择操作(复制 / 标记等)
至少不用在多个终端之间来回切换了。
桌面使用:终端不太适合大量日志
在 Windows / macOS 上看 syslog,一直缺一个顺手的工具。
命令行可以用,但有几个问题:
- 筛选体验比较差
- 日志一多,终端容易卡
- 几乎没有轻量级 GUI 方案
所以前端做了一些偏工程向的优化:
- 虚拟列表:10 万条日志也能顺畅滚动
- 固定行高,减少重绘
- 尽量保证"滚得动、不掉帧"
另外加了一个比较实用的功能:
- CSV 导出
- timestamp / host / severity / facility / message
- 可以直接给 Excel 或其他工具使用
一些比较在意的点
基本不用配置
不需要改 rsyslog,也不用动 systemd。
- 直接运行即可收日志
- 自动解析字段
- 前端连上就能用
尽量轻量
没有数据库,也没有额外依赖:
- 应用+自带服务:总共几十 MB 且无依赖
树莓派这类设备也能正常运行。
支持:
- 自动滚动(实时模式)
- 手动暂停(分析模式)
跨平台
- Windows / macOS / Linux 桌面
- 嵌入式:ARM / MIPS / x86
- Linux 静态编译,不依赖 glibc
在裁剪系统或老设备上会省很多麻烦。
下载地址
https://github.com/sky5454/syslogFUI/releases
做这个工具,没有太多"产品化"的考虑,就是想把一件事情做好:
在不同环境下,都能更轻松地看日志
- 嵌入式设备
- Linux 服务器
- 本地开发环境
如果你平时也在这些场景里折腾日志,应该会有点用。