列印錯誤跟蹤的方法:
方法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#