Python log文件定义- 自用

博主分享了在工作中为解决每次编写不同log文件的问题,而创建的一个可复用的Python log文件。最近的更新主要针对在单元测试和实际运行中日志输出差异的修正,通过调整实例化设置,确保低等级日志也能被记录。
摘要由CSDN通过智能技术生成

由于自己在工作中需要是用到log文件,一直都是随用随写,没次都不一样,导致自己都觉得烦心。所以这次自己写了一个log文件,以供以后可以循环使用。在此做个备份


最近更新 2021年1月29日10:02:23

  • 由于在实际操作中与测试中有误差,在此更新记录下
  • 在单元测试中的logger 输出为 <RootLogger root (NOTSET)>
  • 而在实际运用中logger输出为logging默认的<RootLogger root (WARNING)>
  • 这也就导致了,所有的比warning等级低的都无法记录
  • 具体修改方式:在__init__中实例化self.logger下方将logger.level修改为logging.NOTSET

  • 文件目录
    • Logger.py: 具体的日志文件
    • test.py: 测试及调用方法

Logger.py

#!/usr/bin/python3
# coding: utf-8
# @Time: 2021/1/26 15:47
# @Project: None...
# @File: logger.py
# @Author: Lpliner
# @Description: 日志文件

import os
import logging
import logging.handlers
from logging import Logger

from typing_extensions import Literal       # >=3.8 USE: from typing import Literal


class BaseLogger(object):

    def __init__(self, LogPath: str, logName: str = "log",  when: str = "D", backup: int = 7) -> None:
        """
        初始化logger
        Args:
            LogPath: log文件存储位置及名称,建议是指定存储的文件夹,文件夹可以不存在,会新建
            when: 更新时间
            backup:
        """
        super().__init__()
        self.formatter = logging.Formatter(
            fmt=" - ".join([
                # "%(name)s",                       # UserName
                # "%(relativeCreated)d",            # RelativeCreatedTime
                "%(asctime)s",
                # "%(filename)s",                   # File
                "%(pathname)s",                     # FileAbspath
                "%(funcName)s",                     # Function
                "[%(levelname)s]",                  # LogLevel
                # "[%(levelno)d]",        
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值