console.log和system.log有什么区别?


3

我正在通过Console实用程序检查系统日志。我想知道console.log和system.log文件之间的区别是什么?


我没有看到console.log文件OMM。文件位于何处?
内森格林斯坦

@Nathan - 我傻了。这适用于Snow Leopard之前的版本。现在只有system.log作为主系统事件日志。显然,ALS以纯文本形式吐出system.log,并以二进制数据库格式存储另一个版本。
Scott Davies

Answers:


4

Console.log通常是通过调用Apple的NSLog()函数调用来编写的。(我找不到任何其他方式来写它所以可能是唯一的方法)这写入应用程序运行的用户的日志

system.log由unix调用syslog写入。syslog可以配置为写入不同的文件和计算机。system.log是所有用户编写的中心文件。

因此,只有专门为OSX编写的代码才会写入console.log并且只能由当前用户写入。

syslog由纯unix应用程序使用,如果您想要集中日志记录。

从10.4开始的OSX实际上使用asl将日志写入数据库


这很棒 - 谢谢!因此,如果我正确地得到这个,system.log将是所有xnu / Mach / BSD系统日志数据(UNIX子系统),而console.log只是来自Objective-C / Cocoa应用程序的调用?谢谢你纠正我的首字母缩略词... ASL!
Scott Davies

不完全你可以从Cocoa调用syslog或者苹果asl日志,所以任何东西都可以在syslog中
马克

1

通常,Console日志包含来自当前登录GUI用户所拥有的进程的日志消息,而系统日志包含来自root或其他“系统帐户”所拥有的系统进程的日志消息(例如“nobody”,“www”等) )。


谢谢!那么根据我对@Mark上面的评论,系统帐户(运行系统进程)是否来自UNIX层?
Scott Davies
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.