在Mac上读取系统日志输出
我有一个为Linux编写的程序,我正在试图在MacOS 10.5机器上构build和运行它。 该程序构build和运行没有问题,但是它使许多调用syslog。 我知道syslogd正在我的mac上运行,但我似乎无法find我的系统日志调用输出到。
系统日志调用的forms
syslog (LOG_WARNING, "Log message"); 任何想法,我可能会发现我的日志输出?
 /var/log/system.log 
 您可以使用tail -f /var/log/system.log轻松监视它 
 另请参阅“logging器”( man logger )和“syslog”( man syslog )。 
您也可以使用Console.app程序查看日志文件。 这是呃。
 如果有疑问,总是有人man syslog 。 
 你可以在/var/log/syslogfind你的消息; 我的机器开箱即用,只包含高级信息,因此您可能需要进行设置。 
您也可以通过syslog(1)读取消息,或使用类似命令创buildtesting消息
 $ syslog -s -l INFO "Hello, world." 
使用P(“恐慌”)的严重性,你会立即在你的控制台上得到一个令人兴奋的消息。
Mac OS X实现了syslogfunction的超集 。 所有的系统日志都在那里,但作为ASL的一部分。
 由Matthew Schinckel在他的回答中提到的控制台是ASL上的GUI。 它将向您显示数据库中存在的任何消息,如边栏中列出的查询所获取的消息。 有两个查询默认情况下, 一个只显示与控制台设施( NSLog ,等等)发送的消息,而另一个显示所有日志消息。 检查全部消息查询; 你可能会在那里find你的信息。 
这个“全部”确实带有星号。 如果你看看/etc/asl.conf,你会看到这一行:
 # save everything from emergency to notice ? [<= Level notice] store 
幸运的是,在你的情况下,这个消息将通过这个检查,因为警告超出(比数量less)的通知。
 在查理的回答的基础上,我想补充一点,你应该看看syslog.conf(5)的联机帮助文档,还可以查看文件/etc/syslog.conf (这是syslogconfiguration由默认情况下也是如我所见,在OS X 10.5.x上)。 
 也许有趣的是,苹果在过去使用了一个真正的syslogd ,但同时这一切都转换为ASL(苹果系统日志)。  syslog命令仍然可用,但只能访问这一个日志。 如果要在所有configuration的日志文件中访问ASL的所有日志消息,请使用log命令。 
例如,以下显示了Safari在过去两天内生成的所有日志消息(耐心等待,可能需要一段时间):
 log show --predicate 'process == "Safari"' --last 2d 
 查看man log了解您可以执行的所有操作,知道的所有参数以及可以过滤的属性。 
 检查程序中某个地方的openlog调用。 在打开syslog的调用之后, syslog会将其输出保存到该日志文件而不是默认位置。