**:
1#coding:utf-8
2import logging #
引入logging模組34
#將資訊列印到控制台上56
#如果需要顯示低於warning級別的內容,可以引入notset級別來顯示
7 logging.basicconfig(level=logging.notset) #
設定日誌級別
8 logging.debug(u"小花"
)9 logging.info(u"
如果設定了日誌級別為notset,那麼這裡可以採取debug、info的級別的內容也可以顯示在控制台上了")
1011 logging.warning(u"小麗"
)12 logging.error(u"
zxc"
)13 logging.critical(u"
qwe")14
#正常情況下只能看到後面三個能列印出來。因為:預設生成的root logger的level是logging.warning,低於該級別的就不輸出了。級別排序:critical > error > warning > info > debug
執行結果:
debug:root:小花info:root:如果設定了日誌級別為notset,那麼這裡可以採取debug、info的級別的內容也可以顯示在控制台上了
warning:root:小麗
error:root:zxc
critical:root:qwe
**:
1#coding:utf-8
2import logging #
引入logging模組34
#通過logging.basicconfig 函式進行配置了日誌級別和日誌內容輸出格式
5 logging.basicconfig(level=logging.debug,
6 format='
%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s
') #
logging.basicconfig函式對日誌的輸出格式及方式做相關配置7#
因為日誌基本配置中級別設定為debug,所以會將debug級別以上的資訊都輸出顯示再控制台上
8 logging.debug('
this is a loggging debug message')
9 logging.info('
this is a loggging info message')
10 logging.warning('
this is loggging a warning message')
11 logging.error('
this is an loggging error message')
12 logging.critical('
this is a loggging critical message
')
執行結果:
2018-07-20 10:17:54,727 - logging1.py[line:8] - info: this isa loggging info message
2018-07-20 10:17:54,805 - logging1.py[line:9] - debug: this is
a loggging debug message
2018-07-20 10:17:54,805 - logging1.py[line:10] - warning: this is
loggging a warning message
2018-07-20 10:17:54,805 - logging1.py[line:11] - error: this is
an loggging error message
2018-07-20 10:17:54,805 - logging1.py[line:12] - critical: this is a loggging critical message
**:
1#coding:utf-8
2import logging #
引入logging模組
3import
time45
#第一步,建立乙個logger
6 logger =logging.getlogger() # 獲取logger例項,如果引數為空,則返回root logger,即預設的logger名稱是root
7 logger.setlevel(logging.info) #
log等級總開關. logger.setlevel()設定日誌級別89
#第二步,建立乙個handler,用於寫入日誌檔案
10 rq = time.strftime('
%y%m%d%h%m
', time.localtime(time.time()))
11 logfile = rq + "
.log
"12 fh = logging.filehandler(logfile, mode='w'
)13 fh.setlevel(logging.debug) #
輸出到file的log等級的開關
1415
#同時輸出到控制台
16 ch =logging.streamhandler()
17ch.setlevel(logging.warning)
1819
#第三步,定義handler的輸出格式20#
配置日誌的格式
21 formatter = logging.formatter("
%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
22 fh.setformatter(formatter) #
設定formatter
23ch.setformatter(formatter)
2425
#第四步,將logger新增到handler裡面
26 logger.addhandler(fh) #
新增乙個handler
27logger.addhandler(ch)
2829
#使用logger.xx來記錄錯誤,這裡的"error"可以根據所需要的級別進行修改
30try
:31 open('
/path/to/does/not/exist
', 'rb'
)32except
(systemexit, keyboardinterrupt):
33raise
34except
exception as e:
35 logger.error('
failed to open file
', exc_info=false) # 如果要求日誌上報錯誤,可以將exc_info設定為true.
3637
## 日誌38#
logger.debug('this is a logger debug message')39#
logger.info('this is a logger info message')40#
logger.warning('this is a logger warning message')41#
logger.error('this is a logger error message')42#
logger.critical('this is a logger critical message')
執行結果:
2018-07-20 10:45:11,936 - logging1.py[line:35] - error: failed to open file # 檔案和控制台上是一致的
「attributeerror:moudle 'logging' has no attribute 'basicconfig'」——原因為:把檔名命名為logging.py導致該錯誤。
Python 模組之logging日誌
logging模組是pyhton自帶的內建模組,提供了標準的日誌介面 日誌等級列表 日誌等級 level 描述級別 notset 不設定0 debug 最詳細的日誌資訊,典型應用場景是 問題診斷 10info 資訊詳細程度僅次於debug,通常只記錄關鍵節點資訊,用於確認一切都是按照我們預期的那樣進...
python 日誌處理之logging
日誌是用來記錄程式在執行過程中發生的狀況,在程式開發過程中新增日誌模組能夠幫助我們了解程式執行過程中發生了哪些事件,這些事件也有輕重之分。根據事件的輕重可分為以下幾個級別 debug 詳細資訊,通常僅在診斷問題時才受到關注。整數level 10 info 確認程式按預期工作。整數level 20 w...
python 之列印日誌logging
import logging 引入logging模組 將資訊列印到控制台上 logging.debug u 蒼井空 logging.info u 麻生希 logging.warning u 小澤瑪利亞 logging.error u 桃谷繪里香 logging.critical u 瀧澤蘿拉 回顯 ...