python的日誌模組使用logging,如果想要輸出符合自己的預期,需要重新定義,廢話不多說,直接貼**。
#handler = timedrotatingfilehandler(logfilepath, when="midnight", interval=1, backupcount=20) 定義寫入日誌的策略:encoding: utf -8
from logging.handlers import
timedrotatingfilehandler
import
logging
import
osimport
inspect
#呼叫方法log.debug('logname.log','輸出內容')
this_file =inspect.getfile(inspect.currentframe())
path =os.path.abspath(os.path.dirname(this_file))
class
log:
def__init__
(self):
if os.path.isdir('
%s\\log
'%path): #
建立log資料夾
pass
else
: os.mkdir(
'%s\\log
'%path)
defdebug(self,logname,kwarg):
logfilepath = '
%s\\log\\%s
'%(path,logname)
logger = logging.getlogger("
yourname")
logger.setlevel(logging.debug)
handler =timedrotatingfilehandler(logfilepath,
when="
midnight",
interval=1,
backupcount=20)
formatter = logging.formatter('
%(asctime)s %(levelname)s %(message)s')
handler.setformatter(formatter)
logger.addhandler(handler)
logger.debug('%s
'%(kwarg))
logger.removehandler(handler)
deferror(self,logname,kwarg):
logfilepath = '
%s\\log\\%s
'%(path,logname)
logger = logging.getlogger("
yourname")
logger.setlevel(logging.error)
handler =timedrotatingfilehandler(logfilepath,
when="
midnight",
interval=1,
backupcount=20)
formatter = logging.formatter('
%(asctime)s %(levelname)s %(message)s')
handler.setformatter(formatter)
logger.addhandler(handler)
logger.error('%s
'%(kwarg))
logger.removehandler(handler)
1.每天乙個日誌檔案。
2.超過20個,刪除最早生成的日誌。
formatter = logging.formatter('%(asctime)s %(levelname)s %(message)s') 定義日誌輸出的格式
log().debug('日誌輸出:test.log
','hello world...
')
python日誌模組
logging.debug 10 logging.info 20 logging.warning 30 logging.error 40 logging.critical 50預設級別為warning 預設輸出位置為控制台 import logging logging.basicconfig 可用引...
python 日誌模組
在軟體或者系統發生錯誤時可以通過日誌快速定位到錯誤,從而定位問題,解決問題。logging模組提供的日誌記錄函式所使用的日誌器設定的日誌級別是warning,因此只有warning級別的日誌記錄以及大於它的error和critical級別的日誌記錄被輸出了,而小於它的debug和info級別的日誌記...
python 日誌模組
import logging logging.basicconfig level logging.debug,format asctime s filename s line lineno d levelname s message s datefmt a,d b y h m s filename ...