Python中日志logging模块

# coding:utf-8

import logging
import os
import time


class Logger(object):

    def __init__(self):
        # 创建一个logger
        self.logger = logging.getLogger('mylogger')
        self.logger.setLevel(logging.DEBUG)

        # 根据创建日志文件夹
        log_dir = os.path.join("./log", time.strftime('%Y-%m-%d', time.localtime(time.time())))
        if not os.path.exists(log_dir):
            os.mkdir(log_dir)
        log_file = os.path.join(log_dir,time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())))

        # 创建一个handler,用于写入日志文件
        fh = logging.FileHandler('%s.log' % log_file, encoding="utf-8")
        fh.setLevel(logging.DEBUG)

        # 再创建一个handler,用于输出到控制台
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)

        # 定义handler的输出格式
        formatter = logging.Formatter('%(asctime)s - %(threadName)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)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


logger = Logger().getlog()

以上代码放在自己的项目中即可使用

猜你喜欢

转载自www.cnblogs.com/yaoqingzhuan/p/10716852.html