python中日志logging模塊和異常捕獲traceback模塊的使用


在實際的生產使用中,常常需要使用日志配合異常捕獲來監測程序的運行情況。本文對python中的Logging模塊和traceback模塊的使用做簡單的總結,以便快速上手。

1.日志模塊(logging)

python的logging模塊可分別對日志級別、日志輸出格式、日期輸出格式,日志路徑,打開文件方式等進行設置。

basicConfig關鍵字參數

(1) level

(2) format

(3) datefmt

參考time.strftime

2.異常捕獲模塊(traceback)

  • traceback.format_exc()以字符串返回異常信息
  • traceback.print_exc()直接打印出異常信息
    可以填入file參數,把異常信息填入到指定的file里
    traceback.print_exc(file=open('error.txt','a'))

3.代碼示例

# -*- coding:utf-8 -*-
 
import os
import logging
import traceback
 
#設置log, 這里使用默認log
logging.basicConfig(
    level=logging.INFO,                                                            #日志級別,只有日志級別大於等於設置級別的日志才會輸出
    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',  #日志輸出格式
    datefmt='[%Y-%m_%d %H:%M:%S]',                                                 # 日期表示格式
    filename=os.path.dirname(os.path.realpath(__file__)) + "/" + 'test.log',       #輸出定向的日志文件路徑
    filemode='a'                                                                   #日志寫模式,是否尾部添加還是覆蓋
    )
 
a=10
b=0 #設置為0, 走異常流程; 否則, 走正常流程
 
try:
  res=a/b
  logging.info("exec success, res:" + str(res))
except Exception,e:
  #format_exc()返回異常信息字符串,print_exc()則直接給打印異常信息
  traceback.print_exc()
  logging.warning("exec failed, failed msg:" + traceback.format_exc())

參考鏈接

日志模塊教程
異常捕獲教程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM