我希望我的python程序能够登录到多个设施(LOCALX
),其中每个设施条目都适用于特定条件。例如,X和程序之间的所有网络流量记录都转到LOCAL0
,Y和程序之间转到LOCAL1
。
无论如何,我可以使用python的日志记录机制轻松完成此操作:我将导入logging
,并为每个设施创建一个Sysloghandler
并将其添加到一个或多个记录器中。
但是python也有一个syslog
模块。我希望使用这个模块,因为我所贡献的几乎所有其他python代码都使用syslog
。它有可能吗?如何?
syslog
文件表明无法做到这一点。
我正在使用python 2.7
感谢。
答案 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()
调用中给出的值。