logging模組,針對日誌操作的模組
logging模組可替代print函式的功能,並能將標準輸出輸入到日誌檔案儲存起來
且利用logging模組可部分替代debug功能
logging模組中有6個級別,分別是
notset
0debug
10info
20warning
30error
40critical
50這些級別的用處,先將自己的日誌定乙個級別,
logging模組發出的資訊級別高於定義的級別,將在螢幕顯示出來;
若低於定義的級別則略過;
若未定義級別,則預設級別是warning
logging最簡單的方法就是logging.basicconfig
logging.basicconfig使用方法為:logging.basicconfig([**kwargs])
這個函式的引數有:
filename:用指定檔名建立filehandler
filemode:檔案開啟方式。預設值『a』,可以改為『w』
format:指定handler使用日誌顯示格式
detafmt:指定日期時間格式
level:設定rootlogger的日誌級別
stream:用指定的stream建立streamhandler。若同時有filename和stream兩個引數,忽略stream引數
fomat引數能用到的格式化串:
%(name)s:logger的名字
%(levelno)s:數字形式的日誌級別
%(levelname)s:檔案形式的日誌級別
%(pathname)s:呼叫日誌輸出的模組的完整路徑,可能沒有
%(filename)s:呼叫日誌輸出函式的模組的檔名
%(modules)s:呼叫日誌輸出函式的模組名
%(funcname)s:呼叫日誌輸出函式的函式名
%(lineno)d:呼叫日誌輸出函式的語句所在**行
%(created)f:當前時間,用unix標準的表示時間的浮點數表示
%(relativecreated)d:輸出日誌資訊時,自logger建立以來的毫秒數
%(asctime)s:字串形式的當前時間
%(thread)d:執行緒id
%(threadname)s:執行緒名
%*(process)d程序id
%(message)s:使用者輸出的訊息
import logging
class testlogging(object):
def __init__(self):
logformat = '%(asctime)-12s %(levelname)-8s %(name)-10s %(message)-12s'
# 字串的時間 數字形式的日誌級別 logger的名字 使用者輸出的訊息
logfilename = './testlog.txt'
logging.basicconfig(level = logging.info, #設定日誌級別
format = logformat, #指定handler使用的日誌顯示格式
filename = logfilename, #用指定的檔名建立資料夾
filemode = 'w') #檔案開啟方式預設值'a',也可指定為'w'
logging.debug('debug message')
#之前設定的日誌級別為info,所以在之後的文件中,由於debug的級別低於info,所以不會顯示
logging模組的使用
coding utf 8 import os import time import logging import sys log dir1 os.path.join os.path.dirname os.path.dirname file logs today time.strftime y m d...
使用python的logging模組
一 從乙個使用場景開始 開發乙個日誌系統,既要把日誌輸出到控制台,還要寫入日誌檔案 import logging 建立乙個logger logger logging.getlogger mylogger logger.setlevel logging.debug 建立乙個handler,用於寫入日誌...
logging模組的簡單使用
import logging 建立乙個logger,如果引數為空則返回root logger logger logging.getlogger nick 設定logger日誌等級 logger.setlevel logging.debug 建立handler fh logging.filehandl...