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

Python中的logging模塊詳解

 更新時間:2023年09月22日 09:29:51   作者:XWenXiang  
這篇文章主要介紹了Python中的logging模塊詳解,默認情況下Python的logging模塊將日志打印到了標準輸出中,且只顯示了大于等于WARNING級別的日志,這說明默認的日志級別設置為WARNING,需要的朋友可以參考下

logging模塊介紹

這個模塊為應用與庫實現(xiàn)了靈活的事件日志系統(tǒng)的函數(shù)與類

該模塊定義的基礎類和函數(shù)都列在下面。記錄器暴露了應用程序代碼直接使用的接口。

處理器將日志記錄(由記錄器創(chuàng)建)發(fā)送到適當?shù)哪繕?。過濾器提供了更細粒度的功能,用于確定要輸出的日志記錄。格式器指定最終輸出中日志記錄的樣式。

日志級別

日志記錄級別的數(shù)值在下表中給出

級別數(shù)值
CRITICAL50
ERROR40
WARNING30
INFO20
DEBUG10
NOTSET0

默認情況下Python的logging模塊將日志打印到了標準輸出中,且只顯示了大于等于WARNING級別的日志,這說明默認的日志級別設置為WARNING 。

import logging
		logging.debug('debug message')
		logging.info('info message')
		logging.warning('warning message')
		logging.error('error message')
		logging.critical('critical message')

不需要打印,執(zhí)行文件會得到以下結(jié)果:

WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message

模板

import logging
import logging.config
import os
# 定義日志輸出格式 開始
standard_format = '[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]' \
                  '[%(levelname)s][%(message)s]' #其中name為getlogger指定的名字
simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'
# 定義日志輸出格式 結(jié)束
# 自定義文件路徑
url = os.path.dirname(os.path.dirname(__file__))
url_a = os.path.join(url, 'log')
if not os.path.exists(url_a):
    os.mkdir(url_a)
logfile_path = os.path.join(url_a, 'log_a.log')
# log配置字典
LOGGING_DIC = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'format': standard_format
        },
        'simple': {
            'format': simple_format
        },
    },
    'filters': {},  # 過濾日志
    'handlers': {
        #打印到終端的日志
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',  # 打印到屏幕
            'formatter': 'simple'
        },
        #打印到文件的日志,收集info及以上的日志
        'default': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',  # 保存到文件
            'formatter': 'standard',
            'filename': logfile_path,  # 日志文件路徑
            'maxBytes': 1024*1024*5,  # 日志大小 5M
            'backupCount': 5,
            'encoding': 'utf-8',  # 日志文件的編碼,再也不用擔心中文log亂碼了
        },
    },
    'loggers': {
        #logging.getLogger(__name__)拿到的logger配置
        # '': {
        #     'handlers': ['default', 'console'],  # 這里把上面定義的兩個handler都加上,即log數(shù)據(jù)既寫入文件又打印到屏幕
        #     'level': 'DEBUG',
        #     'propagate': True,  # 向上(更高level的logger)傳遞
        # },  # 當鍵不存在的情況下 (key設為空字符串)默認都會使用該k:v配置
        '注冊記錄': {
            'handlers': ['console'],  # 這里把上面定義的兩個handler都加上,即log數(shù)據(jù)既寫入文件又打印到屏幕
            'level': 'WARNING',
            'propagate': True,  # 向上(更高level的logger)傳遞
        },  # 當鍵不存在的情況下 (key設為空字符串)默認都會使用該k:v配置
    },
}
# 使用日志字典配置
logging.config.dictConfig(LOGGING_DIC)  # 自動加載字典中的配置
# logger1 = logging.getLogger('轉(zhuǎn)賬記錄')
logger2 = logging.getLogger('注冊記錄')
# logger1.debug('別忘點贊')
logger2.error('xxx轉(zhuǎn)賬100000¥')

logging.basicConfig()函數(shù)中可通過具體參數(shù)來更改logging模塊默認行為,可用參數(shù)有:

  • filename:用指定的文件名創(chuàng)建FiledHandler,這樣日志會被存儲在指定的文件中。
  • filemode:文件打開方式,在指定了filename時使用這個參數(shù),默認值為“a”還可指定為“w”。
  • format:指定handler使用的日志顯示格式。
  • datefmt:指定日期時間格式。
  • level:設置rootlogger(后邊會講解具體概念)的日志級別
  • stream:用指定的stream創(chuàng)建StreamHandler??梢灾付ㄝ敵龅絪ys.stderr,sys.stdout或者文件(f=open(‘test.log’,’w’)),默認為sys.stderr。若同時列出了filename和stream兩個參數(shù),則stream參數(shù)會被忽略。

format參數(shù)中可能用到的格式化串:

  • %(name)s Logger的名字
  • %(levelno)s 數(shù)字形式的日志級別
  • %(levelname)s 文本形式的日志級別
  • %(pathname)s 調(diào)用日志輸出函數(shù)的模塊的完整路徑名,可能沒有
  • %(filename)s 調(diào)用日志輸出函數(shù)的模塊的文件名
  • %(module)s 調(diào)用日志輸出函數(shù)的模塊名
  • %(funcName)s 調(diào)用日志輸出函數(shù)的函數(shù)名
  • %(lineno)d 調(diào)用日志輸出函數(shù)的語句所在的代碼行
  • %(created)f 當前時間,用UNIX標準的表示時間的浮 點數(shù)表示
  • %(relativeCreated)d 輸出日志信息時的,自Logger創(chuàng)建以 來的毫秒數(shù)
  • %(asctime)s 字符串形式的當前時間。默認格式是 “2003-07-08 16:49:45,896”。逗號后面的是毫秒
  • %(thread)d 線程ID。可能沒有
  • %(threadName)s 線程名。可能沒有
  • %(process)d 進程ID。可能沒有
  • %(message)s用戶輸出的消息

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

相關文章

  • Python TCP全連接攻擊中SockStress全連接攻擊詳解

    Python TCP全連接攻擊中SockStress全連接攻擊詳解

    Sock Stress 全連接攻擊屬于TCP全連接攻擊,因為需要建立一次完整的TCP三次握手,該攻擊的關鍵點就在于,攻擊主機將windows窗口緩沖設置為0,實現(xiàn)的拒絕服務
    2022-10-10
  • python根據(jù)完整路徑獲得盤名/路徑名/文件名/文件擴展名的方法

    python根據(jù)完整路徑獲得盤名/路徑名/文件名/文件擴展名的方法

    這篇文章主要介紹了python根據(jù)完整路徑獲得盤名,路徑名,文件名,文件擴展名的代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 關于numpy中eye和identity的區(qū)別詳解

    關于numpy中eye和identity的區(qū)別詳解

    今天小編就為大家分享一篇關于numpy中eye和identity的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • opencv python 傅里葉變換的使用

    opencv python 傅里葉變換的使用

    這篇文章主要介紹了opencv python 傅里葉變換的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python入門教程(一)Python簡單介紹

    Python入門教程(一)Python簡單介紹

    這篇文章主要介紹了Python入門教程(一)Python簡單介紹,Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • 使用python腳本實現(xiàn)Redis未授權(quán)訪問檢測

    使用python腳本實現(xiàn)Redis未授權(quán)訪問檢測

    Redis未授權(quán)訪問漏洞是一種安全漏洞,可能導致未經(jīng)授權(quán)的用戶或攻擊者訪問Redis數(shù)據(jù)庫,甚至修改或刪除其中的數(shù)據(jù),這種漏洞通常發(fā)生在管理員未正確配置Redis實例的訪問控制和認證機制時,本文介紹了python腳本實現(xiàn)Redis未授權(quán)訪問漏洞利用,需要的朋友可以參考下
    2024-10-10
  • Pyqt實現(xiàn)無邊框窗口拖動以及窗口大小改變

    Pyqt實現(xiàn)無邊框窗口拖動以及窗口大小改變

    這篇文章主要為大家詳細介紹了Pyqt實現(xiàn)無邊框窗口拖動及大小改變的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python統(tǒng)計詞頻并繪制圖片(附完整代碼)

    Python統(tǒng)計詞頻并繪制圖片(附完整代碼)

    這篇文章主要介紹了Python統(tǒng)計詞頻并繪制圖片(附完整代碼)本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 3種Python 實現(xiàn)酷炫進度條的實用方法

    3種Python 實現(xiàn)酷炫進度條的實用方法

    這篇文章主要介紹了3種Python 實現(xiàn)酷炫進度條的實用方法,文章圍繞Python的相關資料展開對實現(xiàn)進度條的介紹,需要的小伙伴可以參考一下
    2022-04-04
  • 詳解Python靜態(tài)網(wǎng)頁爬取獲取高清壁紙

    詳解Python靜態(tài)網(wǎng)頁爬取獲取高清壁紙

    這篇文章主要介紹了Python爬取高清壁紙,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

大庆市| 商洛市| 喀什市| 凌海市| 金门县| 甘孜县| 阿图什市| 石台县| 嘉禾县| 谷城县| 宁都县| 鄂伦春自治旗| 东乡| 长武县| 临朐县| 睢宁县| 崇文区| 梓潼县| 郴州市| 井陉县| 疏勒县| 临安市| 融水| 洛隆县| 广丰县| 集贤县| 陇西县| 岳池县| 准格尔旗| 新宾| 肥东县| 竹北市| 云龙县| 都匀市| 洪湖市| 曲麻莱县| 苍溪县| 甘泉县| 綦江县| 秦皇岛市| 民权县|