syslog ---Unix系统日志库例程¶
此模块提供到Unix的接口 syslog 库例程。有关 syslog 设施。
此模块包裹系统 syslog 例行公事。可以与Syslog服务器对话的纯python库在 logging.handlers 模块AS SysLogHandler .
该模块定义了以下功能:
- syslog.syslog(message)¶
- syslog.syslog(priority, message)
发送字符串 消息 到系统记录器。如有必要,将添加一个尾随换行符。每条消息都标记有一个优先级,该优先级由 设施 和A level . 可选的 优先 参数,默认为
LOG_INFO,确定消息优先级。如果设施未编码 优先 使用逻辑或 (LOG_INFO | LOG_USER)中给出的值openlog()调用被使用。如果
openlog()在调用之前未被调用到syslog(),openlog()将不带参数调用。提出一个 auditing event
syslog.syslog带着论据priority,message.
- syslog.openlog([ident[, logoption[, facility]]])¶
后续记录选项
syslog()可以通过调用设置调用openlog().syslog()将调用openlog()如果日志当前未打开,则不带参数。可选的 识别的 关键字参数是一个字符串,它在每条消息前面,默认为
sys.argv[0]剥离了引导路径组件。可选的 登录选项 关键字参数(默认值为0)是一个位字段——有关要组合的可能值,请参阅下面的内容。可选的 设施 关键字参数(默认为LOG_USER)为没有显式编码功能的消息设置默认功能。提出一个 auditing event
syslog.openlog带着论据ident,logoption,facility.在 3.2 版更改: 在以前的版本中,不允许使用关键字参数,并且 识别的 是必需的。默认值为 识别的 依赖于系统库,通常
python而不是python程序文件的名称。
- syslog.closelog()¶
重置系统日志模块值并调用系统库
closelog().这会导致模块的行为与最初导入时一样。例如,
openlog()会在第一个syslog()调用(如果)openlog()还没有接到调用),以及 识别的 等openlog()参数重置为默认值。提出一个 auditing event
syslog.closelog没有参数。
- syslog.setlogmask(maskpri)¶
将优先级掩码设置为 马斯普里 并返回上一个遮罩值。呼吁
syslog()未设置优先级 马斯普里 被忽略。默认设置是记录所有优先级。函数LOG_MASK(pri)计算单个优先级的掩码 pri . 函数LOG_UPTO(pri)计算到和包括以下所有优先级的掩码 pri .提出一个 auditing event
syslog.setlogmask带着论证maskpri.
模块定义以下常量:
- 优先级(从高到低):
LOG_EMERG,LOG_ALERT,LOG_CRIT,LOG_ERR,LOG_WARNING,LOG_NOTICE,LOG_INFO,LOG_DEBUG.- 设施:
LOG_KERN,LOG_USER,LOG_MAIL,LOG_DAEMON,LOG_AUTH,LOG_LPR,LOG_NEWS,LOG_UUCP,LOG_CRON,LOG_SYSLOG,LOG_LOCAL0到LOG_LOCAL7,以及,如果在<syslog.h>,LOG_AUTHPRIV.- 日志选项:
LOG_PID,LOG_CONS,LOG_NDELAY,以及,如果在<syslog.h>,LOG_ODELAY,LOG_NOWAIT和LOG_PERROR.
实例¶
简单的例子¶
一组简单的例子:
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...')