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