一、前言
本篇日誌封裝比較簡單,符合簡單的代碼運行時記錄。使用python自帶logging庫進行封裝。
主要包含指定保存日誌的文件路徑,日誌級別,以及調用文件將日誌存入到指定的文件中。
二、源碼
import logging
import os.path
import time
class Logger(object):
def __init__(self, logger):
"""
指定保存日誌的文件路徑,日誌級別,以及調用文件
將日誌存入到指定的文件中
"""
# 創建一個logger
self.logger = logging.getLogger(logger)
self.logger.setLevel(logging.DEBUG)
# 創建一個handler,用於寫入日誌文件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
log_path = os.path.dirname(os.getcwd()) + '/logs/'
log_name = log_path + rq + '.log'
fh = logging.FileHandler(log_name, encoding="utf-8")
fh.setLevel(logging.INFO)
# 再創建一個handler,用於輸出到控制檯
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
# 定義handler的輸出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 給logger添加handler
self.logger.addHandler(fh)
self.logger.addHandler(ch)
def getlog(self):
return self.logger