Python打印详细报错日志logging问题

 更新时间:2023年09月13日 11:07:51   作者:南湖渔歌  
这篇文章主要介绍了Python打印详细报错日志logging问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python打印详细报错日志logging

方式1

logging模块可以实现Python程序的错误日志功能。

通过使用baseConfig()函数就可以对logging进行一个日志配置。

包括输出的格式和错误等级,记录的文件目录

# 日志模块
import logging
import traceback
# 引入日志
logging.basicConfig(filename='log_record.txt',
    level=logging.DEBUG, filemode='w', format='[%(asctime)s] [%(levelname)s] >>>  %(message)s',
                    datefmt='%Y-%m-%d %I:%M:%S')
try:
	print(a+1)   # 放主要代码
except Exception as e:
    logging.error("Main program error:")
    logging.error(e)
    logging.error(traceback.format_exc())

方式2

在程序中完成logger,handler,filter,formater的实例化 被配置好logging,然后再使用logging取得logger进行日志操作

import logging
# logging模块由logger,handler,filter,fomatter四个部分组成
# 获取一个logger对象
logger = logging.getLogger("haha")
# 设置日志输出等级
logger.setLevel(logging.DEBUG)
# 创建一个文件的handler
f_handler = logging.FileHandler("xxx.log")
f_handler.setLevel(logging.INFO)
# 创建一个控制台的handler
c_handler = logging.StreamHandler()
c_handler.setLevel(logging.WARNING)
# 设置日志的输出格式
fmt = logging.Formatter("%(asctime)s-%(name)s-%(levelname)s-%(message)s")
# 给handler绑定一个fomatter类
f_handler.setFormatter(fmt)
c_handler.setFormatter(fmt)
# 绑定一个handler
logger.addHandler(f_handler)
logger.addHandler(c_handler)
# 使用logger输出日志信息
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.critical("critiacl")

python在日志中记录异常

1、在日志中记录异常

import logging   # logging默认值打印warning以上级别的信息
logging.debug('这是debug级别的信息!')
logging.info('这是info级别的信息!')
logging.warning('这是warning级别的信息!')
logging.error('这是error级别的信息!')
logging.critical('这是critical级别的信息!')
# 输出:
# WARNING:root:这是warning级别的信息! root:用户权限
# ERROR:root:这是error级别的信息!
# CRITICAL:root:这是critical级别的信息!

2、把日志写到文件里

import logging   # logging默认值打印warning以上级别的信息
logging.basicConfig(level='DEBUG',filename='./log20210130.log',filemode='a+')
logging.debug('这是debug级别的信息!')
logging.info('这是info级别的信息!')
logging.warning('这是warning级别的信息!')
logging.error('这是error级别的信息!')
logging.critical('这是critical级别的信息!')

3、结合实际打印异常日志到文件

import time
import logging    # logging默认值打印warning以上级别的信息
import traceback  # 将原始报错的信息返回出来
logging.basicConfig(level='DEBUG',filename='./log20210130.log',filemode='a+')
try:
    input = int(input('请输入一个整数:'))
    print(1/input)
except:                        # 会捕获所有的异常
    # 返回时间和原始报错信息
    logging.error(time.strftime('%y-%m-%d %H:%M:%S')+traceback.format_exc() + '-------------- \n')

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python算法之图的遍历

    Python算法之图的遍历

    这篇文章主要介绍了Python算法之图的遍历,涉及遍历算法BFS和DFS,以及寻找图的(强)连通分量的算法等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 使用python脚本自动创建pip.ini配置文件代码实例

    使用python脚本自动创建pip.ini配置文件代码实例

    这篇文章主要介绍了使用python脚本自动创建pip.ini配置文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python实现钉钉自动化完整指南

    Python实现钉钉自动化完整指南

    本文详细介绍如何使用 Python 实现钉钉自动化,包括消息发送、部门管理、审批流程触发等功能,内容涵盖实现步骤、前置条件、依赖项以及注意事项,帮助快速上手并避免常见问题,需要的朋友可以参考下
    2025-03-03
  • 如何利用pandas工具输出每行的索引值、及其对应的行数据

    如何利用pandas工具输出每行的索引值、及其对应的行数据

    这篇文章主要介绍了如何利用pandas工具输出每行的索引值、及其对应的行数据,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Python使用进程池并发执行SQL语句的操作代码

    Python使用进程池并发执行SQL语句的操作代码

    Python的进程池是一种并发工具,它允许我们将任务分发给一组工作进程,这些进程可以同时运行并共享一个进程池,本文给大家介绍了Python使用进程池并发执行SQL语句的操作代码,需要的朋友可以参考下
    2024-10-10
  • 一文详解Python中的重试机制

    一文详解Python中的重试机制

    本文将给大家介绍一个第三方库-Tenacity(标题中的重试机制并并不准确,它不是 Python 的内置模块,因此并不能称之为机制),它实现了几乎我们可以使用到的所有重试场景,快跟随小编一起学习一下吧
    2022-07-07
  • python中exe文件解包方法详解

    python中exe文件解包方法详解

    这篇文章主要给大家介绍了关于python中exe文件解包方法的相关资料,文中通过图文以及实例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友可以参考下
    2023-06-06
  • python实现简单的五子棋游戏

    python实现简单的五子棋游戏

    这篇文章主要为大家详细介绍了python实现简单的五子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • python中的生成器、迭代器、装饰器详解

    python中的生成器、迭代器、装饰器详解

    本文详细讲解了python中的生成器、迭代器、装饰器,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • pythotn条件分支与循环详解

    pythotn条件分支与循环详解

    这篇文章主要介绍了Python条件分支和循环用法,结合实例形式较为详细的分析了Python逻辑运算操作符,条件分支语句,循环语句等功能与基本用法,需要的朋友可以参考下
    2021-08-08

最新评论