import logging
import os
from logging import handlers
import confs
# 日志配置
if not os.path.exists(confs.LOG_DIR):
os.makedirs(confs.LOG_DIR)
class Logger(object):
_logger = {}
def get_logger(self, log_name):
if log_name not in Logger._logger:
# 配置日志操作器
handler = handlers.RotatingFileHandler(os.path.join(confs.LOG_DIR, log_name + ".log"), maxBytes=1024 * 1024 * 5,
backupCount=10, encoding='utf-8')
# 设置日志格式
fmt = "%(asctime)s||%(levelname)s||%(pathname)s||%(funcName)s||%(lineno)s||%(message)s"
# 配置格式实例
formatter = logging.Formatter(fmt)
# 操作器加载格式实例
handler.setFormatter(formatter)
# 创建logger实例
logger = logging.getLogger(log_name)
# 给实例增加日志操作器
logger.addHandler(handler)
# 给实例增加日志输出登记,打印所有级别的日志
logger.setLevel(logging.DEBUG)
Logger._logger[log_name] = logger
return Logger._logger[log_name]