亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python中使用logging和traceback模塊記錄日志和跟蹤異常

 更新時間:2019年04月09日 14:12:39   作者:-牧野-  
今天小編就為大家分享一篇關于Python中使用logging和traceback模塊記錄日志和跟蹤異常,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

logging模塊

logging模塊用于輸出運行日志,可以設置不同的日志等級,保存信息到日志文件中等。 相比print,logging可以設置日志的等級,控制在發(fā)布版本中的輸出內容,并且可以指定日志的輸出格式。

1. 使用logging在終端輸出日志

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import logging # 引入logging模塊
# 設置打印日志級別 CRITICAL > ERROR > WARNING > INFO > DEBUG
logging.basicConfig(level = logging.DEBUG,format = '%(asctime)s - %(name)s
 -%(filename)s[line:%(lineno)d] - %(levelname)s - %(message)s')
# 將信息打印到控制臺上
logging.debug(u"調試")
logging.info(u"執(zhí)行打印功能")
logging.warning(u"警告")
logging.error(u"錯誤")
logging.critical(u"致命錯誤")

輸出

2. 使用logging在終端輸出日志,並保存日志到本地log文件

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import logging # 引入logging模塊
import os.path
# 第一步,創(chuàng)建一個logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG) # Log等級開關
# 第二步,創(chuàng)建一個handler,用于寫入日志文件
log_path = os.path.dirname(os.getcwd()) + '/Logs/'
log_name = log_path + 'log.log'
logfile = log_name
file_handler = logging.FileHandler(logfile, mode='a+')
file_handler.setLevel(logging.ERROR) # 輸出到file的log等級的開關
# 第三步,定義handler的輸出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
file_handler.setFormatter(formatter)
# 第四步,將handler添加到logger里面
logger.addHandler(file_handler)
# 如果需要同時需要在終端上輸出,定義一個streamHandler
print_handler = logging.StreamHandler() # 往屏幕上輸出
print_handler.setFormatter(formatter) # 設置屏幕上顯示的格式
logger.addHandler(print_handler)
# 日志信息
logger.debug('this is a logger debug message')
logger.info('this is a logger info message')
logger.warning('this is a logger warning message')
logger.error('this is a logger error message')
logger.critical('this is a logger critical message')
# 或使用logging
logging.debug('this is a logger debug message')
logging.info('this is a logger info message')
logging.warning('this is a logger warning message')
logging.error('this is a logger error message')
logging.critical('this is a logger critical message')

日志等級劃分

  • FATAL:致命錯誤
  • CRITICAL:特別糟糕的事情,如內存耗盡、磁盤空間為空,一般很少使用
  • ERROR:發(fā)生錯誤時,如IO操作失敗或者連接問題
  • WARNING:發(fā)生很重要的事件,但是并不是錯誤時,如用戶登錄密碼錯誤
  • INFO:處理請求或者狀態(tài)變化等日常事務
  • DEBUG:調試過程中使用DEBUG等級,如算法中每個循環(huán)的中間狀態(tài)

traceback模塊

traceback是python中用來跟蹤異常信息的模塊,方便把程序中的運行異常打印或者保存下來做異常分析。

常見用法

try:
  doSomething()
except:
  traceback.print_exc()
  # logging.error(str(traceback.format_exc()))

traceback.format_exc() 與 traceback.print_exc() 區(qū)別:

  1.    traceback.format_exc() 返回異常信息的字符串,可以用來把信息記錄到log里;
  2.    traceback.print_exc() 直接把異常信息在終端打印出來;

traceback.print_exc()也可以實現(xiàn)把異常信息寫入文件,使用方法:

traceback.print_exc(file=open('traceback_INFO.txt','w+'))

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • 解決python運行啟動報錯問題

    解決python運行啟動報錯問題

    這篇文章主要介紹了解決python運行啟動報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 基于python批量處理dat文件及科學計算方法詳解

    基于python批量處理dat文件及科學計算方法詳解

    今天小編就為大家分享一篇基于python批量處理dat文件及科學計算方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python統(tǒng)計字母、空格、數(shù)字等字符個數(shù)的實例

    python統(tǒng)計字母、空格、數(shù)字等字符個數(shù)的實例

    今天小編就為大家分享一篇python統(tǒng)計字母、空格、數(shù)字等字符個數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python識別html主要文本框過程解析

    Python識別html主要文本框過程解析

    這篇文章主要介紹了python識別html主要文本框過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • python單例模式之selenium driver實現(xiàn)單例

    python單例模式之selenium driver實現(xiàn)單例

    這篇文章主要介紹了python單例模式之selenium driver實現(xiàn)單例,使用裝飾器實現(xiàn)單例,文章基于python的相關資料實現(xiàn)主題,具有一的的參考價值,需要的朋友可以參考一下
    2022-03-03
  • Python requests設置代理的方法步驟

    Python requests設置代理的方法步驟

    這篇文章主要介紹了Python requests設置代理的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • python vertibi算法實現(xiàn)原理解析

    python vertibi算法實現(xiàn)原理解析

    這篇文章主要為大家介紹了python vertibi算法實現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • python數(shù)據(jù)分析基礎知識之shape()函數(shù)的使用教程

    python數(shù)據(jù)分析基礎知識之shape()函數(shù)的使用教程

    shape函數(shù)是numpy.core.fromnumeric中的函數(shù),它的功能是讀取矩陣的長度,比如shape[0]就是讀取矩陣第一維度的長度,下面這篇文章主要給大家介紹了關于python數(shù)據(jù)分析基礎知識之shape()函數(shù)使用的相關資料,需要的朋友可以參考下
    2022-09-09
  • Python實現(xiàn)讀取json文件到excel表

    Python實現(xiàn)讀取json文件到excel表

    這篇文章主要介紹了Python實現(xiàn)讀取json文件到excel表,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Django進階深入理解使用類視圖和中間件示例

    Django進階深入理解使用類視圖和中間件示例

    這篇文章主要為大家介紹了Django高級指南之深入理解和使用類視圖和中間件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論