欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python  logging日志打印過程解析

 更新時間:2019年10月22日 09:49:23   作者:Mr.zou  
這篇文章主要介紹了python logging日志打印過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一、 基礎(chǔ)使用

1.1 logging使用場景

日志是什么?這個不用多解釋。百分之九十的程序都需要提供日志功能。Python內(nèi)置的logging模塊,為我們提供了現(xiàn)成的高效好用的日志解決方案。但是,不是所有的場景都需要使用logging模塊,下面是Python官方推薦的使用方法:

任務(wù)場景 最佳工具
普通情況下,在控制臺顯示輸出 print()
報告正常程序操作過程中發(fā)生的事件 logging.info()(或者更詳細的logging.debug())
發(fā)出有關(guān)特定事件的警告 warnings.warn()或者logging.warning()
報告錯誤 彈出異常
在不引發(fā)異常的情況下報告錯誤 logging.error(), logging.exception()或者logging.critical()

logging模塊定義了下表所示的日志級別,按事件嚴(yán)重程度由低到高排列(注意是全部大寫!因為它們是常量。):

級別 級別數(shù)值 使用時機
DEBUG 10 詳細信息,常用于調(diào)試。
INFO 20 程序正常運行過程中產(chǎn)生的一些信息。
WARNING 30 警告用戶,雖然程序還在正常工作,但有可能發(fā)生錯誤。
ERROR 40 由于更嚴(yán)重的問題,程序已不能執(zhí)行一些功能了。
CRITICAL 50 嚴(yán)重錯誤,程序已不能繼續(xù)運行。

默認級別是WARNING,表示只有WARING和比WARNING更嚴(yán)重的事件才會被記錄到日志內(nèi),低級別的信息會被忽略。因此,默認情況下,DEBUG和INFO會被忽略,WARING、ERROR和CRITICAL會被記錄。

有多種方法用來處理被跟蹤的事件。最簡單的方法就是把它們打印到終端控制臺上?;蛘邔⑺鼈儗懭胍粋€磁盤文件內(nèi)。

1.2 簡單范例

在什么都不配置和設(shè)定的情況下,logging會簡單地將日志打印在顯示器上,如下例所示:

import logging
logging.warning('Watch out!') # 消息會被打印到控制臺上
logging.info('I told you so') # 這行不會被打印,因為級別低于默認級別

如果,將上面的代碼放在一個腳本里并運行,結(jié)果是:

WARNING:root:Watch out!

1.3 高級使用

import logging

#創(chuàng)建logger記錄器
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)

#創(chuàng)建一個控制臺處理器,并將日志級別設(shè)置為debug

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

#創(chuàng)建formatter格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

#將formatter 添加到ch處理器
ch.setFormatter(formatter)

#將ch添加到logger
logger.addHandler(ch)

#然后就可以開始使用了
# logger.debug('debug message')
#logger.info('info message')
# logger.warning('warn message')
# logger.error('error message')
# logger.critical('critical message')

def Logss():
  #要打印的信息
  a = "3"
  logger.info(a)

Logss()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中類的一些方法分析

    python中類的一些方法分析

    這篇文章主要介紹了python中類的一些方法分析,實例講述了Python中子類調(diào)用父類時繼承的方法問題,需要的朋友可以參考下
    2014-09-09
  • python嵌套異常的兩種處理器

    python嵌套異常的兩種處理器

    在Python中,異常也可以嵌套,本文主要介紹了python嵌套異常的兩種處理器,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • Python 實現(xiàn)Image和Ndarray互相轉(zhuǎn)換

    Python 實現(xiàn)Image和Ndarray互相轉(zhuǎn)換

    今天小編就為大家分享一篇Python 實現(xiàn)Image和Ndarray互相轉(zhuǎn)換,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • numpy求矩陣的特征值與特征向量(np.linalg.eig函數(shù)用法)

    numpy求矩陣的特征值與特征向量(np.linalg.eig函數(shù)用法)

    這篇文章主要介紹了numpy求矩陣的特征值與特征向量(np.linalg.eig函數(shù)用法),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python中利用Future對象異步返回結(jié)果示例代碼

    python中利用Future對象異步返回結(jié)果示例代碼

    future是一種對象,表示異步執(zhí)行的操作。下面這篇文章主要給大家介紹了關(guān)于python中利用Future對象異步返回結(jié)果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • django rest framework 過濾時間操作

    django rest framework 過濾時間操作

    這篇文章主要介紹了django rest framework 過濾時間操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Tensorflow使用Anaconda、pycharm安裝記錄

    Tensorflow使用Anaconda、pycharm安裝記錄

    這篇文章主要介紹了Tensorflow使用Anaconda、pycharm安裝記錄,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • pandas如何讀取mysql數(shù)據(jù)

    pandas如何讀取mysql數(shù)據(jù)

    這篇文章主要介紹了pandas如何讀取mysql數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • pygame游戲之旅 如何制作游戲障礙

    pygame游戲之旅 如何制作游戲障礙

    這篇文章主要為大家詳細介紹了pygame游戲之旅的第6篇,教大家如何制作游戲障礙,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 關(guān)于Python的Thread線程模塊詳解

    關(guān)于Python的Thread線程模塊詳解

    這篇文章主要介紹了關(guān)于Python的Thread線程模塊詳解,進程是程序的一次執(zhí)行,每個進程都有自己的地址空間、內(nèi)存、數(shù)據(jù)棧以及其他記錄其運行的輔助數(shù)據(jù),需要的朋友可以參考下
    2023-05-05

最新評論