python使用syslog模块

    syslog模块是在unix环境下工作的模块,不能用于windows,在windows环境下可以使用logging模块。syslog模块可以用于记录系统运行的信息,这个模块提供的方法有,syslog(priority,message),它将message送入系统日志,priority的默认选项为LOG_INFO,openlog([ident[,logoption[,facility]]]),它用于打开日志,ident会被加到每条日志,logoption是日志选项,facility是可选工具参数。closelog()用于关闭日志。

    日志优先级priority从高到低的顺序是:LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE,LOG_INFO, LOG_DEBUG,默认情况下是LOG_INFO。syslog日志选项有LOG_CONS,LOG_NDELAY,LOG_NOWAIT,LOG_PID,LOG_PERROR。facility的选项有LOG_AUTH,LOG_CRON,LOG_DAEMON,LOG_KERN,LOG_LOCALx,LOG_MAIL,LOG_NEWS,LOG_USER,LOG_UUCP.

例子: 

#!/usr/bin/env python
import syslog,sys,os
sys.openlog():
	syslog.openlog("%s[%d]") % (os.path.basename(sys.argv[0],os.getpid()),0,syslog.LOG_DAEMON)
	syslog.syslog("Stared")
try:
	raise RuntimeError,e:
except:
	type,exception,trace=sys.exc_info()
	excclass=str(exception.__class__)
	message=str(exception)
	syslog.syslog(syslog.ERROR,"%s:%s" %( excclass,message))

运行程序,再用tail命令打开/var/log/messages即可看到日志内容。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。