我正在尝试使用 Console.app 调试 Mac 上的一些问题。我已经清除了里面的日志文件/Library/Logs
,~/Library/Logs
但仍然有大约 4000 条消息!我尝试了清晰显示按钮,但这只能暂时清除应用程序。
我该如何清除日志?
答案1
清除 /private/var/log 中的日志 - 尤其是 system.log。该文件非常大。然后删除 Macintosh HD/Users/“您的用户名”/Library/Logs 中的数据。删除其中的所有内容。接下来,转到 Macintosh HD/Library/Logs 并删除其中的所有内容。删除这些日志文件是安全的,不会影响系统性能。
答案2
基本上,总结如下:
- 应用程序可以使用 syslog API (bsd_in) 和 asl API (asl_in) 来记录消息,方法是将消息交给 syslog 守护进程 (syslogd)。记录的其他数据可以来自内核 (klog_in) 或网络 (udp_in)。
- 所有这些消息都由 syslogd 处理,它以 BSD 方式输出日志消息(bsd_out:它将内容写入各种基本日志文件,如 /var/log)并写入统一的日志消息存储(asl_action:消息存储在 /var/log/asl/* 中)。
- 控制台显示两种日志记录工具:“传统”日志文件和数据库搜索。即使您删除所有 .log 文件,数据库仍然完好无损且充满条目。
另外,如果你想解决问题,不需要清除旧日志文件,您只需更具体地说明要从日志中读取的内容。一个好的起点是从命令行使用“syslog”(不是 syslogd!),在那里您可以使用更具体的指令解析日志(查看 man syslog)。因此,如果您要解析 Safari 在过去 5 小时内记录的所有消息,您将运行:
syslog -k Facility -k Time ge -5h -k Sender Safari
或查看所有消息,但不查看 Mail 的消息:
syslog -k Facility -k Sender ne Mail
相信我,尽管这看起来可能令人困惑,但在命令行上读取日志比在 Console.app 中读取要好得多
但是如果您想继续使用控制台,您可能仍需要查看 aslmanager 和 syslog.conf 的手册页,以了解如何配置文件的保存位置、保存时间以及如何存档它们。