utils下logger的封装

logging的用法可参考:logging基础用法_创建logger对象_wsx601的博客-CSDN博客 

import logging
import os
import time

class Logger(object):

    def __init__(self,logger=None):

        # 创建一个logger
        self.logger = logging.getLogger(logger)
        self.logger.setLevel(logging.DEBUG)

        # 创建一个handler,用于写入文件
        self.log_time = time.strftime("%Y-%m-%d")

        # 设置文件输出路径
        """根目录"""
        PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        """文件路径"""
        file_path = PROJECT_ROOT + os.sep + 'logs'
        self.log_path = file_path

        # 设置文件名称
        self.log_name = self.log_path + "/" + self.log_time + '.logs'

        # 文件内容格式
        fh = logging.FileHandler(os.path.join(self.log_path,"log",self.log_name), "a", encoding="utf-8")
        fh.setLevel(logging.DEBUG)

        # 控制台
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)

        # 设置formatter(文件内容:时间,日志文件名称,操作,代码行数,日志级别,具体信息)
        formatter = logging.Formatter(
            '[%(asctime)s] %(filename)s->%(funcName)s line:%(lineno)d [%(levelname)s]%(message)s')

        # 给logger添加handler
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # 将这两个handler加入logger内
        self.logger.addHandler(fh)
        self.logger.addHandler(ch)

    def getlog(self):
        return self.logger

# log = Logger().logger
#
# if __name__ == '__main__':
#     log.info('hello world')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值