Python3的日誌新增功能

2022-03-06 18:12:50 字數 2248 閱讀 1233

python日誌新增功能,主要記錄程式執行中的日誌,統一收集並分析

一、日誌的級別

debug(除錯資訊) info() warning(警告資訊)error(錯誤資訊) critical(致命資訊)  從左往右越來越嚴重
日誌等級(level)

描述debug

最詳細的日誌資訊,典型應用場景是 問題診斷

info

資訊詳細程度僅次於debug,通常只記錄關鍵節點資訊,用於確認一切都是按照我們預期的那樣進行工作

warning

當某些不期望的事情發生時記錄的資訊(如,磁碟可用空間較低),但是此時應用程式還是正常執行的

error

由於乙個更嚴重的問題導致某些功能不能正常執行時記錄的資訊

critical

當發生嚴重錯誤,導致應用程式不能繼續執行時記錄的資訊

注意,系統只顯示warning(警告資訊)級別以上的日誌,例如我們輸入一下**:
import

logging

logging.debug(

'這是個debug級別的資訊

')#輸出時被過濾掉了

logging.info('

這是個info級別的資訊

')#輸出時被過濾掉了

logging.warning('

這是個warning級別的資訊')

logging.error(

'這是個error級別的資訊')

logging.critical(

'這是個critical級別的資訊

')

控制台輸出

**寫的是5行資料,實際在控制台只有3行,那是因為系統預設輸出 warning(警告)及以上的日誌。  

如果需要全部展示,需要呼叫

logging.basicconfig(level=logging.debug) #

basicconfig基礎配置 可以輸入關鍵字引數,level是等級的意思 logging.debug級別必須大寫 如果是呼叫函式就需要小寫

在level那裡展示指定級別。 加上 logging.basicconfig 之後執行,結果如下,能全部展示出來了

二、日誌格式化輸出

將日誌輸出到控制台或者檔案中

fp = logging.filehandler('

a.txt

', encoding='

utf-8

') #將日誌記錄到檔案中

fs = logging.streamhandler() #將日誌輸出到控制台

放在handler中進行呼叫 

import

logging

log_format = "

%(asctime)s - %(levelname)s - %(message)s

" # 日誌格式化輸出

date_format = "

%m/%d/%y %h:%m:%s %p

" # 日期格式

fp = logging.filehandler('

a.txt

', encoding='

utf-8')

fs =logging.streamhandler()

logging.basicconfig(level=logging.debug, format=log_format, datefmt=date_format, handlers=[fp, fs]) # 呼叫

logging.debug(

"this is a debug log.哈哈")

logging.info(

"this is a info log.")

logging.warning(

"this is a warning log.")

logging.error(

"this is a error log.")

logging.critical(

"this is a critical log.

")

控制台和檔案中就都能展示日誌了

python3新增的byte型別

在python2中位元組型別同字元型別區分不大,但是在python3中最重要的特性是對文字和二進位制資料做了更加清晰的區分,文字總是unicode,由字元型別表示,而二進位制資料則由byte型別表示,python3不會以任意隱式方式混用位元組型和字元型,也因此在python3中不能拼接字串和位元組包...

python3安裝 Python3的安裝

1.anaconda安裝 2.安裝包安裝 3.linux下的命令列安裝 centos red hat 1 sudo yum install y sudo yum update3 sudo yum install y python35u python35u libs python35u devel p...

python3的樣子 python3 基礎

第一周 語言基礎 一 python是一門什麼樣的語言?解釋型動態型別強型別定義語言。二 python2和3的主要區別?1 python3裡可以直接預設寫中文,然後python2裡是不能直接寫的。2 python2裡print不用加括號,可直接寫字串,也可以加 python3裡printi必須要加括號...