这
几天被程序调试搞得比较的郁闷啊,由于是modpython程序,结果是在浏览器中显示的,有时候为了调试一行代码,需要重启apache
(modpython的reload()好像不是每次都灵验的),打开调试的网址,输入信息进入指定的页面,然后给出执行条件,根据执行结果来修正究竟是
代码的哪里出错了。由于web页面的内容是通过函数的return来实现的,扔出一个显示信息之后,后续的显示就无法完成了。调试进度非常的慢。
后来看了limodou的blog,对logging部分的讲解之后,发现日志对这种调试应该是很不错的。开始研究logging,看了python自己带的文档,感觉使用起来相对(Log4Cpp)还是简单的,先照猫画虎的描一个:
--------------------------
def log ():
"""写日志
"""
logger = logging.getLogger('ebiz')
hdlr = logging.FileHandler(ParamDef.LogPath+LogFileName())
formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s')#格式
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.NOTSET)#DEBUG, INFO, WARNING, ERROR, CRITICAL
return logger#返回日志对象
#调用:log().debug('msg')
---------------------------
由于我是在一个模块中使用日志的,为了简化调用,需要对logger的debug,info,warning,error,critical,log,exception这几个方法进行重新封装一下。不过这个就是和自己的程序有关了,不再描述。
还有一个要强调的是,里面的FileHandler,不单单允许是一个文件,可以是:STREAMHANDLER,FILEHANDLER,
ROTATINGFILEHANDLER,SOCKETHANDLER,DATAGRAMHANDLER,SYSLOGHANDLER,
NTEVENTLOGHANDLER,SMTPHANDLER,MEMORYHANDLER,HTTPHANDLER