婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python基礎之logging模塊知識總結

Python基礎之logging模塊知識總結

熱門標簽:富錦商家地圖標注 外呼系統哪些好辦 江西省地圖標注 沈陽人工外呼系統價格 沈陽防封電銷卡品牌 沈陽外呼系統呼叫系統 如何申請400電話費用 武漢外呼系統平臺 池州外呼調研線路

前言

logging模塊是Python內置的標準模塊,主要用于輸出腳本運行日志,可以設置輸出日志的等級、日志保存路徑等。

  • 可以通過設置不同的日志等級,在 release 版本中只輸出重要信息,而不顯示大量的調試信息
  • logging 可以決定將信息輸出位置和內容
  • logging 線程更安全

一、日志級別

級別排序:CRITICAL > ERROR > WARNING > INFO > DEBUG

  • debug : 打印全部日志,詳細信息,通常只出現在診斷問題
  • info : 打印info,warning,error,critical級別的日志,正常輸出
  • warning : 打印warning,error,critical級別的日志,部分異常,不影響程序
  • error : 打印error,critical級別的日志,影響程序部分功能
  • critical : 打印critical級別,影響程序運行
import logging  # 引入logging模塊
# 將信息打印到控制臺上
logging.debug("debug")
logging.info("info")
logging.warning("warning")
logging.error("error")
logging.critical("critical")

[root@zijie ~]# python log.py
WARNING:root:warning
ERROR:root:error
CRITICAL:root:critical

默認生成的root logger的level是logging.WARNING,低于該級別不輸出,如果要展示低于WARNING級別的內容,可以引入logging.basicConfig指定日志級別logging.basicConfig(level=logging.DEBUG)

二、basicConfig

格式 描述
filename 指定使用指定的文件名而不是 StreamHandler 創建 FileHandler。
filemode 如果指定 filename,則以此模式打開文件(‘r'、‘w'、‘a')。默認為“a”。
format 為處理程序使用指定的格式字符串。
datefmt 使用 time.strftime() 所接受的指定日期/時間格式。
style 如果指定了格式,則對格式字符串使用此樣式。'%' 用于 printf 樣式、'{' 用于 str.format()、'$' 用于 string。默認為“%”。
level 將根記錄器級別設置為指定的級別。默認生成的 root logger 的 level 是 logging.WARNING,低于該級別的就不輸出了。級別排序:CRITICAL > ERROR > WARNING > INFO > DEBUG。(如果需要顯示所有級別的內容,可將 level=logging.NOTSET)
stream 使用指定的流初始化 StreamHandler。注意,此參數與 filename 不兼容——如果兩者都存在,則會拋出 ValueError。
handlers 如果指定,這應該是已經創建的處理程序的迭代,以便添加到根日志程序中。任何沒有格式化程序集的處理程序都將被分配給在此函數中創建的默認格式化程序。注意,此參數與 filename 或 stream 不兼容——如果兩者都存在,則會拋出 ValueError。
import logging

logging.basicConfig(level=logging.INFO,
                    format='%(asctime)s %(filename)s %(levelname)s %(message)s',
                    datefmt='%a %d %b %Y %H:%M:%S',
                    filename='xuehui.log',
                    filemode='w')

logging.info('This is a info.')
logging.debug('This is a debug message.')
logging.warning('This is a warning.')

三、日志寫文件

import logging
import os.path
import time

#創建logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# 創建handler,用于寫入日志文件
logdate = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
log_path = 'logs/'
log_name = log_path + logdate + '.log'
logfile = log_name
fh = logging.FileHandler(logfile, mode='w')
fh.setLevel(logging.DEBUG)
# 定義輸出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
# 將logger添加到handler
logger.addHandler(fh)
# 日志
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')

四、traceback記錄

import logging
import os.path
import time

#創建logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# 創建handler,用于寫入日志文件
logdate = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
log_path = 'logs/'
log_name = log_path + logdate + '.log'
logfile = log_name
fh = logging.FileHandler(logfile, mode='w')
fh.setLevel(logging.DEBUG)
# 定義輸出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
# 將logger添加到handler
logger.addHandler(fh)
# 日志
try:
    open('/data/exist', 'rb')
except BaseException as e:
    logger.error('Failed to open file', exc_info=True)

到此這篇關于Python基礎之logging模塊知識總結的文章就介紹到這了,更多相關Python logging模塊內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python日志模塊logging簡介
  • Python接口自動化淺析logging封裝及實戰操作
  • Python 解決logging功能使用過程中遇到的一個問題
  • Python的logging模塊基本用法
  • Python logging簡介詳解

標簽:阿里 黑龍江 潛江 常德 通遼 銅川 呂梁 株洲

巨人網絡通訊聲明:本文標題《Python基礎之logging模塊知識總結》,本文關鍵詞  Python,基礎,之,logging,模塊,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python基礎之logging模塊知識總結》相關的同類信息!
  • 本頁收集關于Python基礎之logging模塊知識總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 威宁| 福海县| 双城市| 平舆县| 攀枝花市| 涟水县| 蛟河市| 疏勒县| 闸北区| 巴林右旗| 鹤庆县| 襄城县| 宿松县| 沿河| 资阳市| 吴江市| 平湖市| 余姚市| 聊城市| 信宜市| 桐庐县| 资溪县| 从化市| 兰州市| 阿鲁科尔沁旗| 乐东| 新源县| 绥中县| 乌拉特前旗| 稷山县| 合水县| 兴文县| 高唐县| 汝城县| 裕民县| 鞍山市| 临澧县| 田阳县| 镇安县| 田林县| 香港 |