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

Python打印詳細報錯日志logging問題

 更新時間:2023年09月13日 11:07:51   作者:南湖漁歌  
這篇文章主要介紹了Python打印詳細報錯日志logging問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Python打印詳細報錯日志logging

方式1

logging模塊可以實現(xiàn)Python程序的錯誤日志功能。

通過使用baseConfig()函數(shù)就可以對logging進行一個日志配置。

包括輸出的格式和錯誤等級,記錄的文件目錄

# 日志模塊
import logging
import traceback
# 引入日志
logging.basicConfig(filename='log_record.txt',
    level=logging.DEBUG, filemode='w', format='[%(asctime)s] [%(levelname)s] >>>  %(message)s',
                    datefmt='%Y-%m-%d %I:%M:%S')
try:
	print(a+1)   # 放主要代碼
except Exception as e:
    logging.error("Main program error:")
    logging.error(e)
    logging.error(traceback.format_exc())

方式2

在程序中完成logger,handler,filter,formater的實例化 被配置好logging,然后再使用logging取得logger進行日志操作

import logging
# logging模塊由logger,handler,filter,fomatter四個部分組成
# 獲取一個logger對象
logger = logging.getLogger("haha")
# 設(shè)置日志輸出等級
logger.setLevel(logging.DEBUG)
# 創(chuàng)建一個文件的handler
f_handler = logging.FileHandler("xxx.log")
f_handler.setLevel(logging.INFO)
# 創(chuàng)建一個控制臺的handler
c_handler = logging.StreamHandler()
c_handler.setLevel(logging.WARNING)
# 設(shè)置日志的輸出格式
fmt = logging.Formatter("%(asctime)s-%(name)s-%(levelname)s-%(message)s")
# 給handler綁定一個fomatter類
f_handler.setFormatter(fmt)
c_handler.setFormatter(fmt)
# 綁定一個handler
logger.addHandler(f_handler)
logger.addHandler(c_handler)
# 使用logger輸出日志信息
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.critical("critiacl")

python在日志中記錄異常

1、在日志中記錄異常

import logging   # logging默認值打印warning以上級別的信息
logging.debug('這是debug級別的信息!')
logging.info('這是info級別的信息!')
logging.warning('這是warning級別的信息!')
logging.error('這是error級別的信息!')
logging.critical('這是critical級別的信息!')
# 輸出:
# WARNING:root:這是warning級別的信息! root:用戶權(quán)限
# ERROR:root:這是error級別的信息!
# CRITICAL:root:這是critical級別的信息!

2、把日志寫到文件里

import logging   # logging默認值打印warning以上級別的信息
logging.basicConfig(level='DEBUG',filename='./log20210130.log',filemode='a+')
logging.debug('這是debug級別的信息!')
logging.info('這是info級別的信息!')
logging.warning('這是warning級別的信息!')
logging.error('這是error級別的信息!')
logging.critical('這是critical級別的信息!')

3、結(jié)合實際打印異常日志到文件

import time
import logging    # logging默認值打印warning以上級別的信息
import traceback  # 將原始報錯的信息返回出來
logging.basicConfig(level='DEBUG',filename='./log20210130.log',filemode='a+')
try:
    input = int(input('請輸入一個整數(shù):'))
    print(1/input)
except:                        # 會捕獲所有的異常
    # 返回時間和原始報錯信息
    logging.error(time.strftime('%y-%m-%d %H:%M:%S')+traceback.format_exc() + '-------------- \n')

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

常山县| 周宁县| 库车县| 盐城市| 海晏县| 嘉禾县| 湟中县| 盘山县| 防城港市| 垦利县| 循化| 乐业县| 道真| 寿光市| 襄樊市| 绥德县| 疏勒县| 紫云| 河津市| 保山市| 台湾省| 修水县| 淳安县| 桂东县| 雷州市| 鹤庆县| 石泉县| 那坡县| 宁陵县| 潞城市| 金昌市| 定南县| 左云县| 德兴市| 崇仁县| 宁武县| 龙州县| 呼伦贝尔市| 荣成市| 宁海县| 那曲县|