python之日志(三)--将捕获的异常写入日志中

news2024/11/23 13:44:37

1.日志级别

import logging #日志模块
#默认下只会从第3级开始打印
logging.debug('DEBUG级别')  #1级
logging.info('INFO级别')  #2级
logging.warning('WARNING级别')  #3级
logging.error('ERROR级别')  #4级
logging.critical('CRITICAL级别')  #5级

 默认第1和第2级的日志不会打印

想打印前面的1,2级,需要加一行代码

logging.basicConfig(level='DEBUG')  #显示最低的级别为DEBUG

同理:如果代码中换成如下

logging.basicConfig(level='CRITICAL')

 那么只会打印出一条日志

 

2.生成日志文件

添加该行代码

logging.basicConfig(level='DEBUG',filename='./log1.log',filemode='a')
filename为日志的路径  ./表示相对路径,存放到当前目录(即在AUTO43文件中)
filemode:写入日志时的类型 a为追加模式,w为覆盖模式

查看log1.log文件的内容

3.优化日志文件

3.1 导入时间模块,给日志加上时间信息

import time

修改后的代码

查看日志文件(应该是追加的)

 

3.2将异常写入到日志文件中

 导入异常信息显示模块

import traceback

代码示例

import logging #日志模块
import time #导入时间模块
import traceback  #导入异常信息显示模块
# filename为日志的路径  ./表示相对路径,存放到当前目录(即在AUTO43文件中)
# filemode:写入日志时的类型 a为追加模式,w为覆盖模式
logging.basicConfig(level='DEBUG',filename='./log1.log',filemode='a')  #显示最低的级别为DEBUG
# logging.debug(time.strftime('%y-%m-%d %H:%M:%S')+'--------记录DEBUG信息')  #1级,在日志中加入当前时间
# logging.info('INFO级别')  #2级
# logging.warning('WARNING级别')  #3级
# logging.error('ERROR级别')  #4级
# logging.critical('CRITICAL级别')  #5级
try:
    a = int(input('请输入一个数字'))
    print(1/a)
except ZeroDivisionError:
    #traceback.format_exc()会打印出错误的信息
    logging.warning(time.strftime('%y-%m-%d %H:%M:%S')+'    '+traceback.format_exc())

运行该代码,输入了一个数字0

再查看日志文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1831214.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

原子阿波罗STM32F767程序的控制器改为STM32F407驱动LCD屏

由于手里没有原子大神的F429开发板,又还想学习原子大神的F429开发板程序,前几天,经过更换控制器,成功把原子大神的F429开发板程序用到了F407开发板上,驱动LCD屏显示成功,目的,就是熟悉原子大神的…

2024 年 5 月公链研报:监管调整与市场新动向

作者:stellafootprint.network 数据来源:公链 Research 页面 五月份,加密货币市场经历了重要的监管和政治动态。美国证券交易委员会(SEC)批准了现货以太坊 ETF 的初步申请文件,这一举措提振了以太坊及其…

2024年高考,应该选择哪些专业和学校?

2024年高考已经告一段落,目前,高考评卷工作正在有序进行,马上进入紧张时期的是考生如何选择院校,填报志愿。在分数限制下,选择哪些专业和好学校,需要综合考虑多个因素。以下是基于当前信息的一些建议&#…

环境科学SCI期刊,IF=8.5+,期刊发展势头非常好

一、期刊名称 SUSTAINABLE DEVELOPMENT 二、期刊简介概况 期刊类型:SCI 学科领域:环境科学与生态学 影响因子:8.562 中科院分区:2区 三、期刊征稿范围 该期刊是一本跨学科出版物,旨在解决和讨论实现可持续发展的…

看穿人性!现货白银交易的一些博弈心得

很多投资者认为现货白银交易最应该讲求的是交易技巧,但交易的技巧和套路是“死”的,行情走势却是“活”的,投资者需要在实践中不断地累积经验和总结心得,才能更加灵活地面对行情走势的变化,逐步达至盈利的理想彼岸。 无…

Python私教张大鹏 Vue3整合AntDesignVue之Form 表单

何时使用 用于创建一个实体或收集信息。 需要对输入的数据类型进行校验时。 表单 我们为 form 提供了以下三种排列方式: 水平排列:标签和表单控件水平排列;(默认) 垂直排列:标签和表单控件上下垂直排列…

js 实现将后端请求来的 Blob 数据保存到用户选择的任意目录

js实现将后端请求来的 Blob 数据保存到用户选择的任意目录 实现方式 实现方式 实现方式是使用 window 的 showSaveFilePicker 方法。Window 接口的 showSaveFilePicker() 方法用于显示一个文件选择器,以允许用户保存一个文件。可以选择一个已有文件覆盖保存&#xf…

一套上门家政小程序源码,java上门家政app源码,家政服务管理后台系统源代码

一套上门家政小程序源码,上门家政app源码,家政服务管理后台系统源码 家政上门系统开发端口组成:用户端app技工端apppc管理后台:Uniapp开发,系统可以打包:安卓、ios、h5、微信小程序、公众号。 一、用户端&…

Vue微前端架构与Qiankun实践理论指南

title: Vue微前端架构与Qiankun实践理论指南 date: 2024/6/15 updated: 2024/6/15 author: cmdragon excerpt: 这篇文章介绍了微前端架构概念,聚焦于如何在Vue.js项目中应用Qiankun框架实现模块化和组件化,以达到高效开发和维护的目的。讨论了Qiankun…

[数据集][实例分割]减速带分割数据集json+yolo格式5400张1类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件以及对应yolo格式txt) 图片数量(jpg文件个数):5400 标注数量(json文件个数):5400 标注数量(txt文件个数):5400 标注类别数:1 标注…

Vim基础操作:常用命令、安装插件、在VS Code中使用Vim及解决Vim编辑键盘错乱

Vim模式 普通模式(Normal Mode): 这是 Vim 的默认模式,用于执行文本编辑命令,如复制、粘贴、删除等。在此模式下,你可以使用各种 Vim 命令来操作文本。插入模式(Insert Mode)&#…

案例7.7_使用SFC/DISM工具修复系统

问题分享 用什么方法可以检测系统文件是否受损,又该如何修复呢?Windows 10操作系统可以用文件检查器检查和修复系统的受损文件.防范故障于未然。 (1)右击“开始”按钮.在弹出的快捷菜单中选择“命令提示符(管理员&am…

全域推广和标准推广可以一起做吗?可行性分析结果如何?

作为全域时代的新赛道,全域推广从出现之日起便备受关注,许多创业者经常将其与标准推广进行对比或捆绑,类似于全域推广和标准推广的区别、全域推广和标准推广哪个好以及全域推广和标准推广可以一起做吗等问题也因此长期霸占该赛道相关话题榜单…

【docker实战】使用Dockerfile的COPY拷贝资源遇到的问题

事情是这样的。 在我负责的golang项目中,使用硬代码验证某块逻辑。比如: 于是,为了解决硬代码的问题,我制作了表格工具:【开源项目】Excel数据表自动生成工具v1.0版 – 经云的清净小站 (skycreator.top)。 使用表格工…

Pytorch深度解析:Transformer嵌入层源码逐行解读

前言 本部分博客需要先阅读博客: 《Transformer实现以及Pytorch源码解读(一)-数据输入篇》 作为知识储备。 Embedding使用方式 如下面的代码中所示,embedding一般是先实例化nn.Embedding(vocab_size, embedding_dim)。实例化的…

Comfy UI使用最新SD3模型,并解决报错‘NoneType‘ object has no attribute ‘tokenize‘【实测可行】

解决Comfy UI使用最新SD3模型报错’NoneType’ object has no attribute ‘tokenize’ 前几天SD3发布了,所以想着尝尝鲜,便去下载了SD3来玩一玩。使用的是Comfy UI而不是Stable Diffusion UI,这是一个比SD UI更加灵活的UI界面,使用…

【Gradio】Building With Blocks 块中的状 态 + 动态应用程序与渲染装饰器

State in Blocks 块中的状态 我们介绍了接口中的状态,这个指南将看看块中的状态,其工作原理大致相同。 全局状态 块中的全局状态与接口中的工作原理相同。在函数调用外创建的任何变量都是所有用户共享的引用。 会话状态 Gradio 支持会话状态&#xff…

大模型-人类病理学的语言视觉AI助手

论文摘要翻译与评论 论文标题: A Multimodal Generative AI Copilot for Human Pathology 摘要翻译: 计算病理学领域已经在任务特定的预测模型和任务无关的自监督视觉编码器的发展方面取得了显著进展。然而,尽管生成性人工智能快速增长&a…

DBA常用论坛

1.ITPUB ITPUB技术论坛_专业的IT技术社区 2.ASKTOM Ask TOM

APP IOS

APP IOS苹果源生应用程序 APP Android-CSDN博客