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

标签 python macos logging syslog

我使用 SysLogHandler 配置了一个 Python 记录器,并作为测试使用所有级别记录了一些消息:调试、信息、警告、错误、严重。如果我运行“syslog”或查看 Console.app 显示,我会看到所有消息。因此,所有消息都已正确记录。但是,当我 tail/var/log/messages.log 时,我没有看到 DEBUG 和 INFO 消息。我阅读了有关 ASL 的内容,并看到一个名为 /var/log/asl 的目录充满了二进制文件,但我完全不了解它是如何与 syslog 交互的。

最佳答案

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

# save everything from emergency to notice
? [<= Level notice] store

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

如果您编辑/etc/asl.conf 文件,您可以更改级别以记录INFO 和DEBUG 消息。您需要重新启动 ASL 守护程序(syslogdaslmanager)或重新启动计算机,并且您可能需要留意已用空间(因为不存储 DEBUG 和 INFO 消息的原因是它们往往非常庞大)。

关于python - 在 MAC OSX 上使用 Python 的 SyslogHandler 时,DEBUG 和 INFO 消息去了哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004505/

相关文章:

python - PYQT如何在QTableView的每一行添加复选框

objective-c - 获取 NSMutableDictionary 中的键出现在弹出按钮中

swift - 具有 r32Float 像素格式的 MTLTexture 到位图

python - 无法将 'int' 对象隐式转换为 str。 Python错误

python - Django:URLconf 中的可变参数

xcode - 如何将值从 NSTabViewController 传递到 subview ?

javascript - 是否可以记录 KO 可观察数组?

java - 不同包之间的 log4j 层次结构

.net - 即使浏览器站点关闭,Log4net 文件也会被锁定

python - 如何在 PyOpenGL 中旋转二维线?