loggging日誌
python的logging模組提供了通用的日誌系統.這個模組提供不同的日誌級別,並可以採用不同的方式記錄日誌
注意:python檔案的命名是有講究的,不要把檔名命名的和模組名字一樣,這樣會一直報錯,比如你這裡如果命名為logging.py就會一直報錯
logging.basiccongfig函式各引數:
1.filename 指定日誌檔名
2.filemode 和file函式意義相同,指定日誌檔案的開啟模式,'w'和'a'
3.format 指定輸出的格式和內容,format可以輸出很多有用資訊:
%(levelno)s 列印日誌級別的數值
%(levelname)s 列印日誌級別名稱
%(pathname)s 列印當前執行程式的路徑
%(filename)s 列印當前執行名
%(funcname)s 列印日誌的當前函式
%(lineno)d 列印日誌的當前行號
%(lasctime)s 列印日誌的時間
%(thread)d 列印執行緒id
%(threadname)s 列印執行緒名稱
%(process)d 列印程序id
%(message)s 列印日誌資訊
4.level 設定統一日誌處理器的級別,預設為logging.warning
日誌資訊,輸出在控制台
import只在控制台輸出,結果:logging
import
os'''
logging.basicconfig:日誌的統一處理器,對日誌的輸出格式和方式做配置
日誌級別等級critical > error > warnig > info >debug,
'''#
log_file = os.path.join(os.getcwd(),'wlog.log')
#日誌格式資訊: 日誌時間 當前執行名 當前行號 日誌級別名稱 列印日誌資訊
log_format = "
%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s
"'''
level設定本級別以及以上級別的才會列印.這裡注意大小寫!
如果你不寫filename和filemode引數則會預設列印到console
'''#
level:日誌級別 (.)後面是大寫, format:日誌格式
logging.basicconfig(level = logging.warning,format =log_format)
#logging.basicconfig(level = logging.warning,format = log_format,filename = log_file,filemode = 'w')
#列印日誌,
#級別規則
#warning級別,可以打出來critical > error > warnig級別的日誌
logging.warning('
warning message')
#error級別
logging.error('
error message')
logging.debug(
'debug message
')
2017-06-18 23:04:55,444 日誌.py [line:26] warning: warning message
2017-06-18 23:04:55,444 日誌.py [line:28] error: error message
日誌資訊,輸出在指定位置的檔案中
import只在指定位置的輸出日誌檔案,結果:logging
import
os'''
logging.basicconfig:日誌的統一處理器,對日誌的輸出格式和方式做配置
日誌級別等級critical > error > warnig > info >debug,
'''#
os的拼接,記錄檔案的路徑,os取的當前路徑,也可以自己設定位置,wlog.log檔名稱
log_file = os.path.join(os.getcwd(),'
wlog.log')
(os.getcwd())
#日誌格式資訊: 日誌時間 當前執行名 當前行號 日誌級別名稱 列印日誌資訊
log_format = "
%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s
"'''
level設定本級別以及以上級別的才會列印.這裡注意大小寫!
如果你不寫filename和filemode引數則會預設列印到console
'''#
level:日誌級別 (.)後面是大寫, format:日誌格式
#logging.basicconfig(level = logging.warning,format = log_format)
logging.basicconfig(level = logging.warning,format = log_format,filename = log_file,filemode = 'w'
)#列印日誌,
#級別規則
#warning級別,可以打出來critical > error > warnig級別的日誌
logging.warning('
warning message')
#error級別
logging.error('
error message')
logging.debug(
'debug message
')
同時在控制台和指定路徑的檔案中輸出日誌資訊
import結果:控制台輸出:logging
'''實現,讓日誌資訊既在控制台,也在指定路徑的檔案中輸出
'''#
日誌級別等級 critical > error > warning > info > debug
#建立乙個logger,頂級的根目錄getlogger,有兩個分支,乙個是filehander,乙個是streamhandler
logger = logging.getlogger('
mylogger')
logger.setlevel(logging.info)
#建立乙個handler,將log寫入檔案
fh = logging.filehandler('
d:\python workspace\wlog_console.log
',mode = 'w'
)fh.setlevel(logging.info)
#再建立乙個handler,將log輸出到控制台
ch =logging.streamhandler()
ch.setlevel(logging.info)
#設定輸出格式
log_format = "
%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s"#
把格式新增進來
formatter =logging.formatter(log_format)
fh.setformatter(formatter)
ch.setformatter(formatter)
#把handler新增到logger裡,其實你理解為匯報給大領導即可
logger.addhandler(fh)
logger.addhandler(ch)
logger.error(
'下雨了
')logger.info('打雷了')
logger.debug('收衣服了')
2017-06-19 00:14:01,182 日誌2.py [line:32] error: 下雨了
2017-06-19 00:14:01,182 日誌2.py [line:33] info: 打雷了
檔案中輸出:
Python基礎 logging模組
先是基礎配置 import logging logging.basicconfig filename level logging.debug 配置好了之後產生的一切日誌都會記錄在filename.log當中,具體用法舉例 logging.info logging some infomation lo...
python基礎 Logging模組
log 日誌 基礎知識概覽 日誌是什麼?日誌 logging 是一種可追蹤 track 某些軟體執行時所發生事件的方法。軟體開發人員 可在他們的 中呼叫日誌記錄相關的方法來表明發生了某些事件。通過乙個描述性的訊息來描述這個事件,該訊息能夠可選地包含可變資料。而 事件有重要性的概念,重要性被稱為 嚴重...
python基礎 日誌logging模組
在一般情況下,日誌作用相當於print的作用,用顯示程式執行當中的一些資訊,如當前迭代次數等,但是有時候我們會讓程式在後台執行,此時print函式將失去作用,我們需要將程式執行的資訊存放在檔案中,最長見的是linux中nohup.out檔案,事後我們可以從日誌檔案中檢視程式執行的一些資訊 從低到高為...