Python 编程之Logging 日志

Logging库是python的一个自带库,也就是不需要安装就能直接使用的库,因此可以直接在程序的开头直接导入logging库即可使用无需安装。

假如你需要在项目运行的时候将各个模块的日志记录到不同的文件中:

1、Logging模块的基础配置

创建一个logger.py文件,添加如下代码:

import logging
from logging.handlers import TimedRotatingFileHandler
import os

def setup_logger(log_name):
    """
    配置日志记录器的函数。

    创建一个名为 log_name 的日志记录器,设置日志级别为 INFO,
    并为其添加一个基于时间的文件处理器,每天生成一个新的日志文件。
    """
    # 获取名为 log_name 的日志记录器,如果不存在则创建
    logger = logging.getLogger(log_name)
    # 设置日志级别为 INFO,表示记录 INFO 及以上级别的日志
    logger.setLevel(logging.INFO)
    
    # 获取当前工作目录
    working_dir = os.getcwd()
    # 创建 'log' 文件夹的路径
    log_path = os.path.join(working_dir, 'log')
    # 确保 'log' 文件夹存在
    if not os.path.exists(log_path):
        os.makedirs(log_path)
    file_path = os.path.join(log_path, f'{log_name}.log')    
    # 创建一个基于时间的文件处理器
    # 指定日志文件的路径为 log/log_name+'.log',时间间隔为一天('midnight' 表示每天的午夜),保留 0 个备份文件,编码为 'utf-8'
    file_handler = TimedRotatingFileHandler(file_path, when='midnight', interval=1, backupCount=0, encoding='utf-8')
    # 创建一个日志格式器,定义日志的格式
    # 格式包括时间戳、日志记录器名称、日志级别和日志消息
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    # 为文件处理器设置格式器
    file_handler.setFormatter(formatter)
    
    # 将文件处理器添加到日志记录器
    logger.addHandler(file_handler)
    # 返回配置好的日志记录器
    return logger

Vision_log=setup_logger('Vision')
Motor_log=setup_logger('Motor')

if __name__ == '__main__':
    # 使用日志记录器记录信息
    Vision_log.info("Vision thread is starting")
    Motor_log.info("Motor thread is finishing")

2、记录日志

导入不同的logger,分别记录信息即可:

from logger import Vision_log
from logger import Motor_log

Vision_log.info("Vision thread")
Motor_log.info("Vision thread")

3、实现效果:

可以看到在当前目录下,生成了一个log文件夹,且文件夹下生成两个.log文件。          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值