使用python Syslog多个工具

时间:2014-10-09 11:29:27

标签: python logging syslog error-logging

我希望我的python程序能够登录到多个设施(LOCALX),其中每个设施条目都适用于特定条件。例如,X和程序之间的所有网络流量记录都转到LOCAL0,Y和程序之间转到LOCAL1

无论如何,我可以使用python的日志记录机制轻松完成此操作:我将导入logging,并为每个设施创建一个Sysloghandler并将其添加到一个或多个记录器中。

但是python也有一个syslog模块。我希望使用这个模块,因为我所贡献的几乎所有其他python代码都使用syslog。它有可能吗?如何?

syslog文件表明无法做到这一点。

我正在使用python 2.7

感谢。

1 个答案:

答案 0 :(得分:1)

syslog模块文档指定facility可以设置为syslog.openlog([ident[, logoption[, facility]]])的可选关键字参数:

  

可选的facility关键字参数(默认为LOG_USER)为没有显式编码工具的邮件设置默认工具。

您还可以对每条消息中的facility进行编码,如syslog.syslog(priority, message)文档中所述:

  

每条消息都标记有由设施和级别组成的优先级。可选的priority参数(默认为LOG_INFO)确定消息优先级。如果使用逻辑或(LOG_INFO | LOG_USER)未对优先级进行编码,则使用openlog()调用中给出的值。