Answers:
至少从Snow Leopard(可能还有Leopard)开始,系统上的所有日志记录都通过Apple System Log(ASL)机制进行,该机制类似于所有日志消息的中央守护程序和数据库。ASL守护程序还确保将满足某些传统条件的适当日志消息写出到传统的纯文本日志文件(例如system.log
和)中kernel.log
,但是所有内容也都将存储到ASL数据库中。
欲了解更多信息,请参阅手册页syslog(1)
,logger(1)
,syslog(3)
,asl(3)
,syslog.conf(5)
,asl.conf(5)
,syslogd(8)
,等。
您可以用来syslog(1)
对ASL数据库发出查询。此外,/Utilities/Console.app
还提供了一个GUI,用于为ASL数据库生成和保存自定义查询。
我很确定,dmesg(8)
一旦启动过程进行到足以syslogd
运行的程度,内核的消息缓冲区(通常用来查看)就被转储到ASL数据库中,因此dmesg
,除了通过习惯来使用外,您无需直接调用。或者,如果您的系统启动不足,syslogd
无法运行。
asl.conf(5)
)。因此,如果您要调试启动问题并在同一天重新启动几次,则默认情况下它们会存在。而且,如果这是一个长期问题,则可以调整ASL的保留期限,以使物料保留更长的时间。
dmesg
它只会显示一些最近的条目,而不会显示启动日志。在10.12.6上尝试-不再有“ kernel.log”文件。
打开Terminal.app并运行
苏多·德梅格
(系统会要求您输入密码)
这将显示从上次启动到现在的系统消息(您将在输出顶部找到启动消息)。你可以试试
sudo dmesg | 更多
这将逐页输出这些消息。
Spiff接受的答案对我没有帮助,也没有kernel.log了。
此命令对我有用(在macOS 10.12.6上):
log show --predicate "processID == 0" --start $(date "+%Y-%m-%d") --debug
它显示了当今所有的内核消息,包括引导过程。它需要进行一些清理,但至少包含我需要查找的所有内容。