python logger日志自定义封装

该博客介绍了如何使用Python的loguru库自定义日志记录。首先引入了os, datetime和loguru库,然后定义了一个Logger类,用于设置日志文件路径,并配置日志格式,包括时间戳、级别、进程和线程信息等。日志文件按大小自动旋转。最后展示了如何在代码中使用这个自定义日志器进行日志输出。
摘要由CSDN通过智能技术生成

python logger日志自定义封装


1.引入库

代码如下:

import os
from datetime import datetime
from loguru import logger as loguru_logger

2.主要内容

代码如下:

class Logger():
    """
    Record was: {'elapsed': datetime.timedelta(microseconds=15952), 'exception': None, 'extra': {}, 'file': (name='logger.py', path='D:/桌面/try_test/common_log/logger.py'), 'function': '<module>', 'level': (name='INFO', no=20, icon='ℹ️'), 'line': 23, 'message': '13213123', 'module': 'logger', 'name': '__main__', 'process': (id=17872, name='MainProcess'), 'thread': (id=4632, name='MainThread'), 'time': datetime(2021, 6, 8, 15, 16, 46, 107709, tzinfo=datetime.timezone(datetime.timedelta(seconds=28800), '中国标准时间'))}
    """

    def __init__(self, logger_super):
        # TODO: This should be set to a path in the config instead of the code path.
        BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        current_f = datetime.now().strftime("%Y%m%d")
        log_file_path = os.path.join(BASE_DIR, f'log/runtime_{current_f}.log')

        loguru_logger.add(log_file_path, rotation="500 MB", encoding='utf-8',
                          format="{time:YYYY-MM-DD  HH:mm:ss}| {level}       |{name}:process:{process}-thread:{thread.id}-filepath:{file.path}-filename:{module}-func:{function}-line:{line}-{message}")

        self.loguru_logger = loguru_logger


logger = Logger(loguru_logger).loguru_logger

3.使用

代码如下:

from xxx.logger import logger
logger.info('test')

实例效果:

2021-06-08  15:35:50| INFO      |-__main__-:process:9840-thread:19752-filepath:D:/xxx/test.py-test-func:func2-212-test
2021-06-08  15:35:50| INFO      |-__main__-:process:9840-thread:19752-filepath:D:/xxx/test.py-test-func:func2-212-test

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值