You are here:  Home » Python » Unix syslog库例程 – Unix特定服务(Python教程)(参考资料)

syslogUnix syslog例程


这个模块为Unix提供了一个接口syslog库例程。请参阅Unix手册页,了解syslog设施。

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

该模块定义了以下功能:

syslog.syslogmessage
syslog.syslogpriority, message
将字符串message发送到系统记录器。如有必要,添加尾随换行符。每条消息都标有一个由facilitylevel。可选的priority参数,默认为LOG_INFO,确定消息优先级。如果使用logical-or(priority)在LOG_INFO | LOG_USER中编码设施,则openlog()使用了呼叫.

如果openlog()在调用之前没有被调用syslog(),openlog()将被调用,没有任何参数.

syslog.openlog ( [ident [, logoption [, facility] ] ]
后续syslog()调用可以通过调用openlog(). syslog()设置调用openlog()没有参数如果日志当前没有打开

可选的ident关键字参数是一个字符串每个消息都会被添加到前面,默认为sys.argv[0]并且前导路径组件已被删除。可选的logoption关键字参数(默认为0)是一个位域 – 请参阅下面的可能要组合的值。可选的facility关键字参数(默认为LOG_USER)设置没有明确编码设施的消息的默认设施.

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

syslog.closelog ()
重置syslog模块值并调用系统库closelog().

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

syslog.setlogmaskmaskpri
将优先级掩码设置为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_LOCAL0LOG_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...")

评论被关闭。