1. 程式人生 > >封裝寫日誌的類

封裝寫日誌的類

辦公 寫日誌 gin ati 一個 ESS 輸出 int warn

import logging
from logging import handlers
class MyLogger():
def __init__(self,file_name,level=‘info‘,backCount=5,when=‘D‘):
logger = logging.getLogger() # 先實例化一個logger對象,先創建一個辦公室
logger.setLevel(self.get_level(level)) # 設置日誌的級別
cl = logging.StreamHandler() # 負責往控制臺輸出的
bl = handlers.TimedRotatingFileHandler(filename=file_name, when=when,
interval=1, backupCount=backCount, encoding=‘utf-8‘)
fmt = logging.Formatter(‘%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s‘)
# 指定日誌的格式
cl.setFormatter(fmt) # 設置控制臺輸出的日誌格式
bl.setFormatter(fmt) # 設置文件裏面寫入的日誌格式
logger.addHandler(cl) # 把已經調教好的人放到辦公室裏
logger.addHandler(bl) # 把已經調教好的人放到辦公室裏
self.logger=logger

def get_level(self,str):
level={
‘debug‘:logging.DEBUG,
‘info‘: logging.INFO,
‘warn‘: logging.WARNING,
‘error‘: logging.ERROR
}
str=str.lower()
return level.get(str)

lw_log = MyLogger(‘lw.log‘,‘debug‘)
lw_log.logger.warning(‘哈哈哈‘)

封裝寫日誌的類