posts - 40,comments - 0,views - 31115

Python打印日志——logging库

1、主要实现步骤

(1)导入logging包、traceback包(可用于打印详细异常信息)

(2)设置日志记录器的级别:DEBUG或者其他的级别

(3)创建一个流式的日志处理对象

(4)创建一个能将日志内容打印到文件的日志处理对象

(5)设置(4)中对象的日志级别:DEBUG或其他级别

(6)设置日志格式器,将日志格式设置成期望的格式

(7)将日志格式器设置到流式对象中、日志内容打印对象中

(8)记录器设置一个处理器

(9)配置完成,可以调用日志使用打印,写入日志

import logging#导入日志库
import traceback#用于获取异常详细信息
# 声明一个文件路径字符串
logging_filename=r'C:\Users\86130\Desktop\info\Python\test.log'
# 方式二
if __name__=='__main__':
    # 创建一个日志记录器
    logger=logging.getLogger('applog')#applog:是日志记录器名称,可以随意取

    # 设置日志记录器的等级DEBUG
    logger.setLevel(logging.DEBUG)

    # 创建一个将流式的日志处理器
    steram_handler = logging.StreamHandler()

    # 创建一个将日志内容打印到文件的日志处理器
    file_handler = logging.FileHandler(filename=logging_filename, mode='a', encoding='utf-8')

    # file_handler 设置日志等级为 ERROR ,没有给handler 设置日志级别,该handler 将使用logger设置或者默认的级别
    file_handler.setLevel(logging.DEBUG)

    # 创建一个日志格式器//'%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
    formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')

    # 设置处理器输出的日志格式
    file_handler.setFormatter(formatter)
    steram_handler.setFormatter(formatter)

    # 记录器设置一个处理器
    logger.addHandler(steram_handler)
    logger.addHandler(file_handler)

    # 写入日志
    logger.debug('打印日志,debug级别')
    logger.info('打印日志,info级别')
    logger.warning('打印日志,warning级别')
    logger.error('打印日志,error级别')
    logger.critical('打印日志,critical级别')
    try:
        s=10/0
    except Exception as e:
        logger.error(e)#捕获异常信息,打印到文件中
        logger.error(traceback.format_exc())#获取详细信息,打印到文件中和控制台
posted on   吃饱饱没烦恼  阅读(336)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示