syslog — Unix syslog 库例程


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

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

该模块定义了以下Function:

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

用参数prioritymessage引发auditing event syslog.syslog

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

用参数identlogoptionfacility引发auditing event syslog.openlog

在版本 3.2 中更改:在以前的版本中,不允许使用关键字参数,并且需要* ident *。 * ident *的默认值取决于系统库,通常为python而不是 Python 程序文件的名称。

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

引发不带参数的auditing event syslog.closelog

用参数maskpri引发auditing event syslog.setlogmask

该模块定义以下常量:

Examples

Simple example

一组简单的示例:

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...')
首页