Unix syslog库例程 – Unix特定服务(Python教程)(参考资料)
syslog
– Unix syslog库例程
这个模块为Unix提供了一个接口syslog
库例程。请参阅Unix手册页,了解syslog
设施。
该模块包装系统syslog
一系列例程。一个可以与系统日志服务器通信的纯Python库在logging.handlers
模块中可用SysLogHandler
.
该模块定义了以下功能:
syslog.
syslog
(message)syslog.
syslog
(priority, message)- 将字符串message发送到系统记录器。如有必要,添加尾随换行符。每条消息都标有一个由facility和level。可选的priority参数,默认为
LOG_INFO
,确定消息优先级。如果使用logical-or(priority)在LOG_INFO | LOG_USER
中编码设施,则openlog()
使用了呼叫.
syslog.
openlog
( [ident [, logoption [, facility] ] ] )- 后续
syslog()
调用可以通过调用openlog()
.syslog()
设置调用openlog()
没有参数如果日志当前没有打开可选的ident关键字参数是一个字符串每个消息都会被添加到前面,默认为
sys.argv[0]
并且前导路径组件已被删除。可选的logoption关键字参数(默认为0)是一个位域 – 请参阅下面的可能要组合的值。可选的facility关键字参数(默认为LOG_USER
)设置没有明确编码设施的消息的默认设施.
syslog.
closelog
()- 重置syslog模块值并调用系统库
closelog()
.这会导致模块的行为与最初导入时的行为相同。例如,
openlog()
将在第一个syslog()
呼叫时调用(如果openlog()
的记录选项尚未被调用),并且ident和其他openlog()
参数被重置为默认值.
syslog.
setlogmask
(maskpri)- 将优先级掩码设置为maskpri并返回前一个掩码值。没有在
syslog()
中设置优先级的Callsto maskpri被忽略。默认是记录所有优先级。功能LOG_MASK(pri)
计算个人优先级的掩码pri。函数LOG_UPTO(pri)
计算所有优先级的掩码,包括pri.
模块定义以下常量:
- 优先级(从高到低):
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 syslogsyslog.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...")
评论被关闭。