Python的log日志打印

Python日志打印,循环保存10个日志文件。

# 日志打印, logger.py
import logging
import os.path
from logging import StreamHandler
from logging.handlers import RotatingFileHandler


class Logger(object):

    def __init__(self, dirname, basename):
        """

        :param dirname: 日志路径
        :param basename: 日志名字
        """
        self.logger = logging.getLogger(basename)
        del self.logger.handlers[:]
        dirname = os.path.abspath(dirname)
        filename = os.path.join(dirname,
                                basename if basename.endswith(".log")
                                else basename + ".log")
        max_bytes = 10 * 1024 * 1024
        backup_count = 10

        if not os.path.exists(dirname):
            os.makedirs(dirname, exist_ok=True)

        formatter = logging.Formatter(
            '%(asctime)s - %(filename)s'
            '[line:%(lineno)d] - %(levelname)s'
            ': %(message)s'
        )

        stream_handler = StreamHandler()
        stream_handler.setFormatter(formatter)
        stream_handler.setLevel(logging.DEBUG)

        log_file_handler = RotatingFileHandler(filename=filename,
                                               maxBytes=max_bytes,
                                               backupCount=backup_count)
        log_file_handler.suffix = '%Y%m%d.log' if basename.endswith(".log") \
            else '%Y%m%d.' + os.path.splitext(basename)[-1]
        log_file_handler.setFormatter(formatter)
        log_file_handler.setLevel(logging.DEBUG)

        self.logger.setLevel(logging.DEBUG)
        self.logger.addHandler(log_file_handler)
        self.logger.addHandler(stream_handler)

    def get_logger(self):
        return self.logger
# 日志打印,cfg.py
from logger import Logger

# -----日志配置-----
LOG_FORMAT = '%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
LOG_FILE = 'log'
log = Logger('./base_logs/', LOG_FILE).get_logger()

打印日志的代码:

from cfg import log

log.info(f"{user_no}_已完成!")

有用请点个赞!!
本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/weixin_45092662。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值