36.15. syslog — Unix syslog 库例程

该模块提供了与 Unix syslog库例程的接口。有关syslogFunction的详细说明,请参见 Unix 手册页。

此模块包装系统syslog例程系列。 logging.handlers模块中的SysLogHandler提供了可以与 syslog 服务器对话的纯 Python 库。

该模块定义了以下Function:

如果在调用syslog()之前尚未调用openlog(),则将不带任何参数地调用openlog()

可选的* ident 关键字参数是一个字符串,该字符串位于每个消息之前,并且默认为sys.argv[0],并且前导路径部分已去除。可选的 logoption 关键字参数(默认为 0)是一个位字段–有关合并的可能值,请参见下文。可选的 facility *关键字参数(默认值为LOG_USER)为没有显式编码的Function的邮件设置默认Function。

这导致模块的行为与最初导入时的行为相同。例如,在第一个syslog()调用中将调用openlog()(如果尚未调用openlog()),并且* ident *和其他openlog()参数被重置为默认值。

该模块定义以下常量:

36.15.1. Examples

36.15.1.1. 简单的例子

一组简单的示例:

import syslog

syslog.syslog('Processing started')
if error:
    syslog.syslog(syslog.LOG_ERR, 'Processing started')

设置一些日志选项的示例,其中包括在记录的消息中包含进程 ID,并将消息写入用于邮件记录的目标工具:

syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
syslog.syslog('E-mail processing initiated...')
首页