人生苦短 我用Python logging日誌操作

2022-03-11 19:37:59 字數 2444 閱讀 6253

話不多說,開搞,基礎是先使用自帶loggin模組,level為warning以上,

進一步是自定義logger,level可自定義

#

!/usr/bin/env python

#-*- coding: utf-8 -*-

#@time : 2018/6/25 21:09

#@author : mr.chen

#@site :

#@file : class_06_23_log_001.py

#@software: pycharm

#@email : [email protected]

import

logging, os

#日誌分為幾個級別? 5個

#debug(除錯資訊) info(詳細資訊) warning(警告資訊) error(錯誤資訊) critical(致命的嚴重的錯誤)

#:1 日誌收集器 logger --->日誌收集器(預設只收集warning級別以上的資訊)

#:2 輸出渠道 console file

#:3 建立自己的日誌收集器,logger,專門收集debug與info資訊

'''logging.debug('loging_model_debug資訊')

logging.info('loging_model_info資訊')

logging.warning('loging_model_warning資訊')

logging.error('loging_model_error資訊')

logging.critical('loging_model_critical資訊')

# ps:因為logging預設輸出的level為warning以上的資訊才能輸出,所以這樣的需求是不滿足我們的,so,我們要自定義log

'''class

mylog:

#log流程:先收集日誌--->後輸出渠道

#第一:規範日誌格式

def my_log(self, name, level, log_path=(os.path.dirname(__file__)) + ('

\\test_log.txt

')):

formatter = logging.formatter('

【%(asctime)s】-【%(levelname)s】-【%(filename)s-%(name)s】-【日誌資訊】:%(message)s')

#第二:建立自己的日誌收集器,logger,專門收集debug與info資訊

#name, level=notset,如果level不設定的話,預設為warning級別,命名的時候要大寫

logger =logging.logger(name, level)

#logger.debug('這是個除錯資訊......')

#logger.info('這是個詳細資訊')

#logger.warning('這是個警告資訊......')

#logger.error('這是個錯誤資訊...........')

#logger.critical('這是個致命且嚴重的錯誤......')

## 第三:建立輸出渠道,warning級別以上的資訊,輸出到控制台

ch = logging.streamhandler() #

輸出到控制台

ch.setlevel(level)

logger.addhandler(ch)

ch.setformatter(formatter)

#第三:也可以,logger,輸入到檔案中

fh = logging.filehandler(log_path, encoding='

utf-8

') #

輸出到檔案裡

fh.setlevel(level)

fh.setformatter(formatter)

logger.addhandler(fh)

logger.addhandler(ch)

ch.setformatter(formatter)

return

logger

if__name__ == '

__main__':

logger = mylog().my_log('

mr.chen

', '

debug')

logger.debug(

'這是個除錯資訊......')

logger.info(

'這是個詳細資訊')

logger.warning(

'這是個警告資訊......')

logger.error(

'這是個錯誤資訊...........')

logger.critical(

'這是個致命且嚴重的錯誤......

')

python人生苦短 人生苦短,我用Python

python學習筆記 每日總結,反思.學習,1,注釋 單行注釋 注釋內容 多行注釋 注釋內容 快捷鍵 ctrl 2,變數 type 變數 用來檢視變數型別 變數型別,程式中需要特別注意變數型別,很容易報錯,或者很熟悉變數型別的報錯,錯了再改也成.格式轉化 紅線常用 bool布林型別 ture和fla...

人生苦短,我用python

python是一種物件導向的解釋型計算機程式語言,由荷蘭人guido van rossum於1989年發明,第乙個公開發行版發行於1991年。python是純粹的自由軟體,源 和直譯器cpython遵循 gpl gnu general public license 協議 python語法簡潔清晰,特...

人生苦短,我用Python

畢設 寫完之後,整個人就無所事事。昨天給老闆發了封郵件,請他推薦些書讀一讀 老闆說,有空學學python吧 life is short,you need python q1 python當中對空格和tab鍵的區分很嚴格。a1 在format當中選擇 tabify region 解決該問題。q2 在p...