最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python logging日志模塊的詳解

 更新時(shí)間:2017年10月29日 14:02:59   作者:l6807718  
這篇文章主要介紹了python logging日志模塊的詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下

python logging日志模塊的詳解

日志級(jí)別

日志一共分成5個(gè)等級(jí),從低到高分別是:DEBUG INFO WARNING ERROR CRITICAL。
DEBUG:詳細(xì)的信息,通常只出現(xiàn)在診斷問(wèn)題上
INFO:確認(rèn)一切按預(yù)期運(yùn)行
WARNING:一個(gè)跡象表明,一些意想不到的事情發(fā)生了,或表明一些問(wèn)題在不久的將來(lái)(例如。磁盤(pán)空間低”)。這個(gè)軟件還能按預(yù)期工作。
ERROR:更嚴(yán)重的問(wèn)題,軟件沒(méi)能執(zhí)行一些功能
CRITICAL:一個(gè)嚴(yán)重的錯(cuò)誤,這表明程序本身可能無(wú)法繼續(xù)運(yùn)行
這5個(gè)等級(jí),也分別對(duì)應(yīng)5種打日志的方法: debug 、info 、warning 、error 、critical。默認(rèn)的是WARNING,當(dāng)在WARNING或之上時(shí)才被跟蹤。

日志格式說(shuō)明

logging.basicConfig函數(shù)中,可以指定日志的輸出格式format,這個(gè)參數(shù)可以輸出很多有用的信息,如上例所示:
%(levelno)s: 打印日志級(jí)別的數(shù)值
%(levelname)s: 打印日志級(jí)別名稱
%(pathname)s: 打印當(dāng)前執(zhí)行程序的路徑,其實(shí)就是sys.argv[0]
%(filename)s: 打印當(dāng)前執(zhí)行程序名
%(funcName)s: 打印日志的當(dāng)前函數(shù)
%(lineno)d: 打印日志的當(dāng)前行號(hào)
%(asctime)s: 打印日志的時(shí)間
%(thread)d: 打印線程ID
%(threadName)s: 打印線程名稱
%(process)d: 打印進(jìn)程ID
%(message)s: 打印日志信息
我在工作中給的常用格式在前面已經(jīng)看到了。就是:
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
這個(gè)格式可以輸出日志的打印時(shí)間,是哪個(gè)模塊輸出的,輸出的日志級(jí)別是什么,以及輸入的日志內(nèi)容。

日志輸出

有兩種方式記錄跟蹤,一種輸出控制臺(tái),另一種是記錄到文件中,如日志文件。

將日志輸出到控制臺(tái)

在a.py寫(xiě)入以下信息

import logging 

logging.basicConfig(level=logging.WARNING, 
          format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') 
# use logging 
logging.info('this is a loggging info message') 
logging.debug('this is a loggging debug message') 
logging.warning('this is loggging a warning message') 
logging.error('this is an loggging error message') 
logging.critical('this is a loggging critical message') 
執(zhí)行上面的代碼將在Console中輸出下面信息:
2017-03-16 16:58:11,266 - a.py[line:10] - WARNING: this is loggging a warning message
2017-03-16 16:58:11,266 - a.py[line:11] - ERROR: this is an loggging error message
2017-03-16 16:58:11,266 - a.py[line:12] - CRITICAL: this is a loggging critical message

【解析】

通過(guò)logging.basicConfig函數(shù)對(duì)日志的輸出格式及方式做相關(guān)配置,上面代碼設(shè)置日志的輸出等級(jí)是WARNING級(jí)別,意思是WARNING級(jí)別以上的日志才會(huì)輸出。另外還制定了日志輸出的格式。

將日志輸出到文件

在logging.basicConfig函數(shù)中設(shè)置好輸出文件的文件名和寫(xiě)文件的模式。

import logging 

logging.basicConfig(level=logging.WARNING, 
          filename='./log/log.txt', 
          filemode='w', 
          format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') 
# use logging 
logging.info('this is a loggging info message') 
logging.debug('this is a loggging debug message') 
logging.warning('this is loggging a warning message') 
logging.error('this is an loggging error message') 
logging.critical('this is a loggging critical message') 
運(yùn)行之后,打開(kāi)該文件./log/log.txt,效果如下:
2015-05-21 17:30:20,282 - log.py[line:12] - WARNING: this is loggging a warning message
2015-05-21 17:30:20,282 - log.py[line:13] - ERROR: this is an loggging error message
2015-05-21 17:30:20,282 - log.py[line:14] - CRITICAL: this is a loggging critical message

通過(guò)配置文件設(shè)置日志模式

https://docs.python.org/2/library/logging.config.html#logging.config.dictConfig

dictconfig比f(wàn)ileconfig要更新

#config.conf
###############################################
[loggers]
keys=root,example01,example02

[logger_root]
level=DEBUG
handlers=hand01,hand02

[logger_example01]
handlers=hand01,hand02
qualname=example01
propagate=0

[logger_example02]
handlers=hand01,hand03
qualname=example02
propagate=0

###############################################
[handlers]
keys=hand01,hand02,hand03

[handler_hand01]
class=StreamHandler
level=INFO
formatter=form02
args=(sys.stderr,)

[handler_hand02]
class=FileHandler
level=NOTSET
formatter=form01
args=('myapp.log', 'a')

[handler_hand03]
class=handlers.RotatingFileHandler
level=INFO
formatter=form02
args=('myapp.log', 'a', 10*1024*1024, 5)

###############################################
[formatters]
keys=form01,form02
[formatter_form01]
format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
datefmt=%a, %d %b %Y %H:%M:%S
[formatter_form02]
format=%(name)-12s: %(levelname)-8s %(message)s
datefmt=

主函數(shù)

import logging
import logging.config

logging.config.fileConfig("/home/razerware/configscript/config.conf")
logger = logging.getLogger("example01")
logger2 = logging.getLogger("example02")
logger.debug('This is debug message')
logger.info('This is info message')
logger.warning('This is warning message')

logger2.debug('This is debug message')
logger2.info('This is info message')
logger2.warning('This is warning message')

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Django項(xiàng)目開(kāi)發(fā)中cookies和session的常用操作分析

    Django項(xiàng)目開(kāi)發(fā)中cookies和session的常用操作分析

    這篇文章主要介紹了Django項(xiàng)目開(kāi)發(fā)中cookies和session的常用操作,結(jié)合實(shí)例形式分析了Django中cookie與session的檢查、設(shè)置、獲取等常用操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python中Get()函數(shù)用法舉例介紹

    Python中Get()函數(shù)用法舉例介紹

    這篇文章主要給大家介紹了關(guān)于Python中Get()函數(shù)用法的相關(guān)資料,Python get()函數(shù)是一個(gè)非常重要的函數(shù),它可以幫助我們從字典中獲取對(duì)應(yīng)鍵的值,避免了因?yàn)殒I不存在而發(fā)生錯(cuò)誤的情況,需要的朋友可以參考下
    2023-10-10
  • Tensorflow訓(xùn)練模型越來(lái)越慢的2種解決方案

    Tensorflow訓(xùn)練模型越來(lái)越慢的2種解決方案

    今天小編就為大家分享一篇Tensorflow訓(xùn)練模型越來(lái)越慢的2種解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Opencv圖像處理之詳解掩膜mask

    Opencv圖像處理之詳解掩膜mask

    這篇文章主要介紹了Opencv圖像處理之詳解掩膜mask,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python移位密碼、仿射變換解密實(shí)例代碼

    Python移位密碼、仿射變換解密實(shí)例代碼

    凱撒密碼(Caesar 密碼)是最早的代換密碼,也是古典對(duì)稱密碼體制的典型代表,已經(jīng)初步體現(xiàn)出近代密碼系統(tǒng)的雛形,這篇文章主要給大家介紹了關(guān)于Python移位密碼、仿射變換解密的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python實(shí)現(xiàn)帶圖形界面的炸金花游戲

    Python實(shí)現(xiàn)帶圖形界面的炸金花游戲

    詐金花又叫三張牌,是在全國(guó)廣泛流傳的一種民間多人紙牌游戲,它具有獨(dú)特的比牌規(guī)則。本文將通過(guò)Python語(yǔ)言實(shí)現(xiàn)帶圖形界面的詐金花游戲,需要的可以參考一下
    2022-12-12
  • python使用socket實(shí)現(xiàn)圖像傳輸功能

    python使用socket實(shí)現(xiàn)圖像傳輸功能

    這篇文章主要為大家詳細(xì)介紹了python使用socket實(shí)現(xiàn)圖像傳輸功能,linux服務(wù)器與win10主機(jī)間的圖像傳輸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Python計(jì)算信息熵實(shí)例

    Python計(jì)算信息熵實(shí)例

    這篇文章主要介紹了Python計(jì)算信息熵實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Keras存在自定義loss或layer怎樣解決load_model報(bào)錯(cuò)問(wèn)題

    Keras存在自定義loss或layer怎樣解決load_model報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了Keras存在自定義loss或layer怎樣解決load_model報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python飛機(jī)大戰(zhàn) pygame游戲創(chuàng)建快速入門(mén)詳解

    python飛機(jī)大戰(zhàn) pygame游戲創(chuàng)建快速入門(mén)詳解

    這篇文章主要介紹了python飛機(jī)大戰(zhàn) pygame游戲創(chuàng)建,結(jié)合實(shí)例形式詳細(xì)分析了Python使用pygame創(chuàng)建飛機(jī)大戰(zhàn)游戲的具體步驟與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12

最新評(píng)論

松江区| 安平县| 建阳市| 安达市| 长子县| 夏河县| 万宁市| 巩义市| 区。| 北辰区| 南昌县| 奉贤区| 百色市| 万盛区| 靖州| 福州市| 文山县| 广水市| 潍坊市| 息烽县| 延长县| 长海县| 吐鲁番市| 北流市| 翁源县| 禄劝| 凌海市| 万盛区| 长顺县| 仁寿县| 礼泉县| 陆良县| 疏附县| 中牟县| 绥芬河市| 浙江省| 隆化县| 阿尔山市| 简阳市| 涟水县| 桐梓县|