【Python】日志记录与装饰器应用

一、Python日志记录概述

Python中的日志记录是通过logging模块实现的。logging模块提供了灵活的日志记录系统,可以通过简单的代码即可实现日志的记录功能。Python的日志系统分为多个级别,包括DEBUG、INFO、WARNING、ERROR和CRITICAL。

二、日志记录实例

下面通过一个简单的例子来演示如何使用Python的logging模块进行日志记录。

import logging
# 配置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 记录日志
logging.info('这是一个INFO级别的日志')
logging.warning('这是一个WARNING级别的日志')
logging.error('这是一个ERROR级别的日志')

运行上述代码,会在控制台看到如下输出:

2021-08-01 15:20:30,420 - root - INFO - 这是一个INFO级别的日志
2021-08-01 15:20:30,420 - root - WARNING - 这是一个WARNING级别的日志
2021-08-01 15:20:30,420 - root - ERROR - 这是一个ERROR级别的日志

在实际应用中,我们通常需要将日志文件按时间进行分割,以便于管理和查询。这里我们使用TimedRotatingFileHandler类来实现日志文件的轮转。

首先,我们需要创建一个日志目录,用于存储日志文件。在代码中,我们通过BASE_DIR变量获取当前文件的路径,然后通过LOG_PATH变量创建一个日志目录路径。

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
LOG_PATH = os.path.join(BASE_DIR, "log")

接下来,我们需要定义一个日志格式,用于显示日志信息。这里我们使用了一个自定义的日志格式LOG_FORMAT,包括时间、模块、函数名、日志级别和日志信息。同时,我们还需要定义一个日期格式DATE_FORMAT,用于显示日志时间。代码如下:

LOG_FORMAT = "[%(asctime)s] [%(module)s] [%(funcName)s] [%(levelname)s] %(message)s"
DATE_FORMAT = "%Y-%m-%d %H:%M:%S"

导入所需库

import os
import logging
import logging.handlers
import datetime
import time
from utils.mydate import localtime_tuple

utils.mydate导入【Python】处理本地时间 localtime_tuple函数
代码如下:

def get_local_logger(filename):
    # 创建一个日志格式化器,定义日志信息的格式和日期/时间的格式
    fmt = logging.Formatter(fmt=LOG_FORMAT, datefmt=DATE_FORMAT)
    fmt.converter = localtime_tuple
    # 定义日志文件的处理程序,用于按时间旋转日志文件
    file_handler = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RumIV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值