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) #在level那裡展示指定級別。 加上 logging.basicconfig 之後執行,結果如下,能全部展示出來了basicconfig基礎配置 可以輸入關鍵字引數,level是等級的意思 logging.debug級別必須大寫 如果是呼叫函式就需要小寫
二、日誌格式化輸出
將日誌輸出到控制台或者檔案中
fp = logging.filehandler('放在handler中進行呼叫a.txt
', encoding='
utf-8
') #將日誌記錄到檔案中
fs = logging.streamhandler() #將日誌輸出到控制台
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必須要加括號...