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

?Python?中?logging?模塊使用詳情

 更新時間:2022年03月03日 11:39:07   作者:Python學(xué)習(xí)與數(shù)據(jù)挖掘  
這篇文章主要介紹了?Python?中?logging?模塊使用,在我們寫程序時,可以借助?logging?模塊的輸出信息來調(diào)試代碼,下文章關(guān)于?logging?模塊的使用相關(guān)內(nèi)容,需要的小伙伴可以參考一下

1.為什么要用logging模塊

在實際應(yīng)用中,日志文件十分重要,通過日志文件,我們知道程序運行的細節(jié);同時,當程序出問題時,我們也可以通過日志快速定位問題所在。在我們寫程序時,也可以借助 logging 模塊的輸出信息來調(diào)試代碼。

但是很多人還是在程序中使用print()函數(shù)來輸出一些信息,比如:

print 'Start reading database'
records = model.read_recrods()
print '# records', records
print 'Updating record ...'
model.update_records(records)
print 'done'

這樣用的話缺點很明顯,當程序?qū)懞眠\行時,我們要把這些print()函數(shù)刪掉,在簡單的的程序中用還行,當程序比較復(fù)雜時,這個辦法很低效。

如果使用logging模塊,看看效果

import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

logger.info('Start reading database')
# read database here
records = {'john': 55, 'tom': 66}
logger.debug('Records: %s', records)
logger.info('Updating records ...')
# update records here
logger.info('Finish updating records')

運行結(jié)果如下:

INFO:__main__:Start reading database
INFO:__main__:Updating records ...
INFO:__main__:Finish updating records

你也許會問,這和print()函數(shù)有什么區(qū)別呢?區(qū)別就在于,logging模塊可以通過改變level來控制一些語句是否被輸出,比如當我們把level改成DEBUG級別:

logging.basicConfig(level=logging.DEBUG)

得到輸出如下:

INFO:__main__:Start reading database
DEBUG:__main__:Records: {'john': 55, 'tom': 66}
INFO:__main__:Updating records ...
INFO:__main__:Finish updating records

2.logging模塊介紹

logging 模塊是python自帶的一個包,因此在使用的時候,不必安裝,只需要import即可。有5個level,分別是debug,主要是查看一下程序運行的信息,一般是調(diào)試程序要看的信息;info,是我們看程序是否如預(yù)料執(zhí)行的信息;warn,意料之外的,但是不影響程序運行;errorcritical就是一些比較嚴重的問題,會影響程序運行。默認leval是warn,這個時候debug級別和info級別就不會被輸出到日志里了。如果想要看到這些信息,就需要進行一些設(shè)置。

3.基礎(chǔ)設(shè)置

我們主要調(diào)用basicConfig(***kwargs*)這個函數(shù)對logging進行設(shè)置。

常用的參數(shù)如下:

  • level:主要調(diào)整logging的級別
  • filename:輸出日志的路徑
  • filemode:直接寫入還是追加寫入
  • format:輸出的格式

我們通過調(diào)整format,可以輸出我們想要的格式,比如:

import logging

logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S')
logging.warning('Admin logged out')

結(jié)果是:

12-Jul-18 20:53:19 - Admin logged out

這就是在format參數(shù)中設(shè)置了時間的,所以得到了時間,我們可以輸出多種想要的信息

總結(jié):

本文主要介紹了logging模塊的基礎(chǔ)用法,除非是自己寫的小腳本中我們使用print()函數(shù),其他情況下最好還是用logging模塊來打印信息,輸出日志吧。

到此這篇關(guān)于 Python 中 logging 模塊使用詳情的文章就介紹到這了,更多相關(guān) Python 中 logging 模塊使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用wxPython實現(xiàn)Windows11任務(wù)欄通知功能

    使用wxPython實現(xiàn)Windows11任務(wù)欄通知功能

    這篇文章主要為大家詳細介紹了如何使用 wxPython 模塊,在 Windows 11 中實現(xiàn)任務(wù)欄通知功能,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • python基礎(chǔ)之并發(fā)編程(三)

    python基礎(chǔ)之并發(fā)編程(三)

    這篇文章主要介紹了詳解python的并發(fā)編程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • 簡單了解python的一些位運算技巧

    簡單了解python的一些位運算技巧

    這篇文章主要介紹了簡單了解python的一些位運算技巧,位運算的性能大家想必是清楚的,效率絕對高。相信愛好源碼的同學(xué),在學(xué)習(xí)閱讀源碼的過程中會發(fā)現(xiàn)不少源碼使用了位運算,需要的朋友可以參考下
    2019-07-07
  • 基于python實現(xiàn)鼠標實時坐標監(jiān)測

    基于python實現(xiàn)鼠標實時坐標監(jiān)測

    這篇文章主要給大家介紹了如何基于python實現(xiàn)鼠標實時坐標監(jiān)測,文章通過代碼示例介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • 在keras中獲取某一層上的feature map實例

    在keras中獲取某一層上的feature map實例

    今天小編就為大家分享一篇在keras中獲取某一層上的feature map實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python中的迭代器與生成器高級用法解析

    Python中的迭代器與生成器高級用法解析

    這篇文章主要介紹了Python中的迭代器與生成器高級用法解析,生成器在Python中是迭代器的一種,這里我們會講到生成表達式、鏈式生成器等深層次內(nèi)容,需要的朋友可以參考下
    2016-06-06
  • Python PyQt5實現(xiàn)拖拽與剪貼板功能詳解

    Python PyQt5實現(xiàn)拖拽與剪貼板功能詳解

    這篇文章主要為大家詳細介紹了Python PyQt5如何實現(xiàn)拖拽與剪貼板功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • python更新數(shù)據(jù)庫中某個字段的數(shù)據(jù)(方法詳解)

    python更新數(shù)據(jù)庫中某個字段的數(shù)據(jù)(方法詳解)

    這篇文章主要介紹了python更新數(shù)據(jù)庫中某個字段的數(shù)據(jù)方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • python去除刪除數(shù)據(jù)中\(zhòng)u0000\u0001等unicode字符串的代碼

    python去除刪除數(shù)據(jù)中\(zhòng)u0000\u0001等unicode字符串的代碼

    這篇文章主要介紹了python去除刪除數(shù)據(jù)中\(zhòng)u0000\u0001等unicode字符串的代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 詳解python函數(shù)的閉包問題(內(nèi)部函數(shù)與外部函數(shù)詳述)

    詳解python函數(shù)的閉包問題(內(nèi)部函數(shù)與外部函數(shù)詳述)

    這篇文章主要介紹了python函數(shù)的閉包問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評論