在MAC OSX上使用Python的SyslogHandler时,DEBUG和INFO消息在哪里?

Pyr*_*bie 4 python macos logging syslog

我使用SysLogHandler配置了一个Python记录器,并作为测试使用所有级别记录了一些消息:debug,info,warning,error,critical.如果我运行'syslog'或者我查看Console.app显示,我会看到所有消息.因此,所有消息都被正确记录.但是,当我tail /var/log/messages.log没有看到DEBUG和INFO消息时.我读到了ASL,我看到一个名为/var/log/aslfull of binary files的目录,但是我根本不明白它是如何与syslog交互的.

Jon*_*ler 8

使用man syslog,man asl(ASL = Apple System Log)man aslmanager,您会发现有一个配置文件/etc/asl.conf,默认版本包含以下行:

# save everything from emergency to notice
? [<= Level notice] store
Run Code Online (Sandbox Code Playgroud)

因此,DEBUG和INFO中的此消息不会由ASL存储,这反过来意味着它们不能在syslog事后打印.该syslog程序似乎从二进制ASL文件而不是从文本/var/log/messages.log文件中读取存储的数据.

如果编辑该/etc/asl.conf文件,则可以更改级别以记录INFO和DEBUG消息.您需要重新启动ASL守护程序(syslogd,aslmanager)或重新启动计算机,并且您可能需要密切关注所使用的空间(因为未存储DEBUG和INFO消息的原因是它们易于使用非常庞大).