log 日志模板

import sys
import logging

#默认的配置
DEFAULT_LOG_LEVEL = logging.INFO # 默认等级
DEFAULT_LOG_FMT = ‘%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s: %(message)s’ # 默认日志格式
DEFUALT_LOG_DATEFMT = ‘%Y-%m-%d %H:%M:%S’ # 默认时间格式
DEFAULT_LOG_FILENAME = ‘log.log’ # 默认日志文件名称

class Logger(object):

def __init__(self):
    # 1. 获取一个logger对象
    self._logger = logging.getLogger()
    # 2. 设置format对象
    self.formatter = logging.Formatter(fmt=DEFAULT_LOG_FMT,datefmt=DEFUALT_LOG_DATEFMT)
    # 3. 设置日志输出
    # 3.1 设置文件日志模式
    self._logger.addHandler(self._get_file_handler(DEFAULT_LOG_FILENAME))
    # 3.2 设置终端日志模式
    self._logger.addHandler(self._get_console_handler())
    # 4. 设置日志等级
    self._logger.setLevel(DEFAULT_LOG_LEVEL)

def _get_file_handler(self, filename):
    '''返回一个文件日志handler'''
    # 1. 获取一个文件日志handler
    filehandler = logging.FileHandler(filename=filename,encoding="utf-8")
    # 2. 设置日志格式
    filehandler.setFormatter(self.formatter)
    # 3. 返回
    return filehandler

def _get_console_handler(self):
    '''返回一个输出到终端日志handler'''
    # 1. 获取一个输出到终端日志handler
    console_handler = logging.StreamHandler(sys.stdout)
    # 2. 设置日志格式
    console_handler.setFormatter(self.formatter)
    # 3. 返回handler
    return console_handler

@property
def logger(self):
    return self._logger

#初始化并配一个logger对象,达到单例的
#使用时,直接导入logger就可以使用
logger = Logger().logger

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值