由于自己在工作中需要是用到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
import os
import logging
import logging.handlers
from logging import Logger
from typing_extensions 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([
"%(asctime)s",
"%(pathname)s",
"%(funcName)s",
"[%(levelname)s]",