打印错误跟踪的方法:
方法1.打印到屏幕
try:
i = 0
mydbhandler.executemany(sql, tmp)
logging.info("[total cost time:" + str((time.time() - start)*1000) + "ms]")
print "total cost time:", (time.time() - start)*1000, "ms"
except:
etype, evalue, tracebackObj = sys.exc_info()[:3]
print "Type: " , etype
print "Value: " , evalue
traceback.print_tb(tracebackObj)
方法2.打印到文件
import logging
LOG_FILENAME = '/tmp/logging_example.out'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG,)
#log 打印格式配置
#logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG,format='[%(asctime)s] %(levelname)s:%(filename)s:%(funcName)s: %(message)s',)
logging.debug('This message should go to the log file')
try:
i = 0
mydbhandler.executemany(sql, tmp)
logging.info("[total cost time:" + str((time.time() - start)*1000) + "ms]")
print "total cost time:", (time.time() - start)*1000, "ms"
except:
etype, evalue, tracebackObj = sys.exc_info()[:3]
print "Type: " , etype
print "Value: " , evalue
logging.exception('Got exception on main handler')
raise
注意:logging是可以配置打印格式的
参考:
http://stackoverflow.com/questions/1508467/how-to-log-my-traceback-error
http://groups.google.com/group/python-tornado/browse_thread/thread/acf41c6e03045a4c#