在线文档教程

syslog

syslog - Unix系统日志库例程

该模块为Unix syslog库例程提供了一个接口。请参阅Unix手册页以获取该syslog设施的详细说明。

该模块包装系统syslog系列的例程。可以与系统日志服务器对话的纯Python库在logging.handlers模块中可用SysLogHandler

该模块定义了以下功能:

syslog.syslog(message)syslog.syslog(priority, message)

将字符串消息发送到系统记录器。 如有必要,可以添加尾随的换行符。 每条消息都标有由设施和级别组成的优先级。 可选的优先级参数(默认为LOG_INFO)决定了消息的优先级。 如果设施未使用逻辑或(LOG_INFO | LOG_USER)优先编码,则使用openlog()调用中给出的值。

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

syslog.openlog([ident[, logoption[, facility]]])

后续syslog()调用的日志记录选项可以通过调用openlog()来设置。 如果日志当前未打开,syslog()将会调用openlog()而不带参数。

可选的ident关键字参数是一个字符串,它被添加到每条消息中,并且默认为sys.argv [0],其中剥离了前导路径组件。 可选的logoption关键字参数(默认值为0)是一个位字段 - 请参阅下面的可能值进行组合。 可选的facility关键字参数(默认值为LOG_USER)为没有明确编码设施的消息设置默认设施。

syslog.closelog()

重置系统日志模块值并调用系统库closelog()

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

syslog.setlogmask(maskpri)

将优先级掩码设置为maskpri并返回以前的掩码值。 以不在maskpri中设置的优先级调用syslog()将被忽略。 缺省是记录所有优先级。 函数LOG_MASK(pri)计算单个优先级pri的掩码。 函数LOG_UPTO(pri)为所有优先级(包括pri)计算掩码。

该模块定义了以下常量:

优先级(高到低):LOG_EMERG,LOG_ALERT,LOG_CRIT,LOG_ERR,LOG_WARNING,LOG_NOTICE,LOG_INFO,LOG_DEBUG.Facilities:LOG_KERN,LOG_USER,LOG_MAIL,LOG_DAEMON,LOG_AUTH,LOG_LPR,LOG_NEWS,LOG_UUCP,LOG_CRON,LOG_SYSLOG和LOG_LOCAL0到LOG_LOCAL7。 日志选项:LOG_PID,LOG_CONS,LOG_NDELAY,LOG_NOWAIT和LOG_PERROR(如果在<syslog.h>中定义的)。

1.例子

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