macos 原生支持自动日志归档,依托 unified logging(10.12+ 默认启用),自动轮转、压缩、清理;可通过 log config 设置保留策略,newsyslog 管理传统日志,console 支持直接查看 .logarchive。
macos 原生已内置完善的日志归档机制,无需额外配置即可自动轮转、压缩和清理。所谓“支持自动归档的系统日志管理环境”,本质是理解并合理启用系统默认策略,而非手动搭建外部方案。
确认统一日志系统(Unified Logging)已启用
macOS 10.12(Sierra)起默认使用 Unified Logging,所有系统与应用日志统一由 log 命令管理,底层存储在 /var/db/diagnostics/ 和 /var/db/uuidtext/,自动按时间归档、压缩、过期淘汰。
- 无需启动 syslogd 或修改
/etc/syslog.conf—— 这些属于旧式 ASL 机制,已被弃用 - 运行
log show --last 1h可验证日志是否实时可查 - 系统自动保留最近约 7–30 天的日志(取决于磁盘空间),无需干预
用 log config 设置归档保留策略
通过 log config 可主动约束日志磁盘用量,这是最安全、最推荐的“配置归档行为”的方式:
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- 限制总大小:
sudo log config --mode "persist:keep-14-days"(保留最近 14 天) - 限制最大占用:
sudo log config --mode "persist:limit-5GB"(日志库上限 5 GB) - 查看当前配置:
log config --status - 该设置会持久生效,重启后仍保持,且不影响诊断报告生成
确保 /var/log 下传统日志正常轮转
部分服务(如 install.log、system.log)仍沿用 newsyslog 管理,其归档行为由 /etc/newsyslog.conf 控制:
- 默认配置已启用压缩(
z标志)和按天/大小轮转 - 检查轮转状态:
sudo newsyslog -nvv(模拟执行,不实际操作) - 若需调整,编辑
/etc/newsyslog.conf中对应行(如增加5表示保留 5 个归档),保存后无需重启服务 - 归档文件名形如
system.log.0.gz,系统会自动清理超龄文件
配合控制台(Console)高效使用归档日志
归档不是为了“存着”,而是为了“可查”。日常应养成用 Console 查看和导出归档的习惯:
- 在“活动监视器”中点“文件”→“创建系统诊断报告”,生成
.logarchive文件 - 双击该文件,自动在 Console 中打开完整归档视图,支持按时间范围筛选、关键词搜索、列排序
- 导出特定时段日志:
log collect --start "2026-04-20" --end "2026-04-25"→ 得到可分享的.logarchive - 归档文件本身即为自包含结构,无需解压,Console 可直接解析










