我正在运行 OSX 10.13.3。我知道如果我在终端中运行以下命令,我将获得我的机器的唤醒原因。
日志显示--style syslog | fgrep“唤醒原因”
目前,当我在终端中运行上述命令时,它会显示可追溯到 2018 年 2 月 17 日的信息。我已清除日志文件中的所有数据,包括:private/var/log;user/Library/Logs;Macintosh HD/Library/Logs - 因此它不会从任何这些位置提取数据。我原本以为唤醒原因应该包含在 system.log 文件中。但显然不是,因为即使删除该文件并重新启动后,上述命令仍会继续列出可追溯到 3 周前的信息,并且 system.log 文件仅包含文件重新创建时的数据。
有人能解释一下这些信息是从哪里提取的吗?是否有包含此信息的特定日志文件?还是它隐藏在 ASL 数据库文件中的某个地方?
谢谢。
答案1
更新/答复: syslog 文件现在是统一日志的一部分,存储在这里:
/var/db/诊断/
/var/db/uuidtext/
参考此处了解更多信息:
https://developer.apple.com/documentation/os/logging?language=occ
使用终端和“log collect”命令收集记录并将其导出到磁盘。使用“log show”进行查看。必须以 root 身份登录终端。
例子:
日志收集--start“2018-03-05”--输出/Users/用户名/desktop/mylogs.logarchive
日志显示/Users/用户名/desktop/mylogs.logarchive
最后,为了缩小唤醒原因搜索范围,请使用日期命令:
日志显示--style syslog--start“2018-03-07”| fgrep“唤醒原因”