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