Mac 怎么查看远程实时日志?暂停阅读、统计新增与重新连接
实时日志有用,是因为新情况会不断出现;它难读,也正是因为画面不断变化。刚看到一条超时记录,新消息就把它推走了。用 Mac 排查远程问题时,应该把两件事分开:持续接收新内容,以及停在某一处认真阅读。
LogStudio 提供本地和远程日志查看。最新版本把当前显示内容与后台接收分开,支持新增行数统计、连接状态提示和手动重连。产品下载入口位于 Mac App Store。
下载一份文件,还是实时查看?
如果事故已经结束,要做的是整理原因、反复搜索和交给同事复核,下载一份日志副本通常更方便。记录服务器、文件路径和获取时间,也要知道副本不会自动包含下载之后产生的记录。
如果正在复现问题,或者观察服务是否恢复,实时查看更合适。新内容到达后可以继续分析,但实时窗口不等于无限历史归档。调查时间较长时,仍然需要单独保留源日志。
已经习惯终端的人,可以用 tail -f 跟随文件输出。经常需要查找编号、检查错误级别和在不同事件之间移动时,图形界面会更便于操作。选择日志 App 是选择工作方式,不是要求用它替代所有命令行工具。
连接前先确认具体来源
使用有权读取目标文件的服务器账号,确认服务器和路径正确。没有新行不一定是服务故障,也可能是选错路径、账号没有权限,或者当前文件确实没有增长。
还要确认应用是否已经更换了正在写入的日志文件。有的程序会保留旧文件,同时开始写一个新文件;看到熟悉的文件名,不代表正在看最新输出。文件更换与网络断开是不同问题,不能只靠重新连接来判断。
LogStudio 对远程日志文件的读取使用 SFTP,也就是通过 SSH 连接访问文件的方式。这里说的是服务器上的文本日志,不是导入 macOS 的 .logarchive 系统日志归档。
新内容继续到达,当前阅读位置保持不变
在 LogStudio 中,向上翻阅会停止自动跟随最新位置,并保持当时的显示内容。后台可以继续接收,提示区累计显示停止跟随后新增了多少行。
暂停阅读也采用这种区分:固定的是当前画面,不是服务器程序。想继续追踪最新消息时,使用明确的回到最新日志按钮。如果当前有筛选,该操作会清除筛选,显示最新的未筛选内容。
这个区别在缓存满时尤其重要。更新后的实现最多保留 10,000 行新接收内容,已经固定的阅读内容则独立保留。后来到达的行不应悄悄替换你正在检查的旧行。但回到最新缓存并不能找回全部更早历史,完整调查仍应使用原始日志文件。
固定内容后搜索,再决定是否继续跟随
排查某一次事件时,可以先停止跟随,搜索请求编号,再查看附近几行。内容暂时不变,更容易对照重试、失败和后续处理,不会被新流量打断。
对固定内容的筛选,只说明这段已经接收的日志里有哪些记录,并不代表未来的所有消息也已经包含在结果里。回到最新日志后,如果要分析后来发生的情况,需要重新搜索。具体步骤见大日志搜索与筛选方法。
重连后,还要检查日志是否真的继续增长
更新后的界面区分连接中、等待、断开和来源结束等状态,并提供手动重连。本地命令正常执行结束,与网络连接失败也不是同一种情况。
重连后检查时间是否继续向后推进、新增行数是否变化。远程文件读取会保留上次的读取位置,但文件被清空或替换后,不能因此承诺历史完全不丢失。某个时间段特别重要时,应核对服务器原文件,不能仅凭“已连接”就断定记录完整。
分享片段时,附上来源文件、获取时间和已知的观察空缺,删除敏感信息。来源清楚、范围明确的一小段日志,比一大份无法解释完整性的导出文件更有用。
更多功能与下载入口见 LogStudio 产品页。如果已经拿到下载文件,可以从本地大日志打开流程开始。
常见问题
实时日志窗口能代替长期日志归档吗?
不能。实时视图使用有上限的缓存。如果需要完整历史或长期保留证据,应另行保存、下载服务器上的原始日志。
暂停日志阅读会暂停服务器程序吗?
不会。暂停只固定当前显示内容,后台继续接收并统计新增行数,不会暂停正在产生日志的服务器程序。
重新连接成功,就代表没有遗漏日志吗?
不能保证。文件被替换、清空、权限变化和网络情况都可能影响可读取内容。完整性重要时,需要核对服务器上的原始文件。