Python的日志,看上去啰啰嗦嗦的。请大神写了个通俗易懂简单方便通用的日志:

import logging
# 配置日志记录级别和输出方式
logging.basicConfig(level=logging.DEBUG, filename='mylog.log', filemode='w', format='%(asctime)s - %(levelname)s - %(message)s')

def log_exceptions(func):
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except Exception as e:
logging.exception(f"Exception in function {func.__name__}: {str(e)}")
       raise # 抛出异常,以保持原始行为 
return wrapper @log_exceptions
def demo_function1():
# 函数1的逻辑代码
  print(1 / 0)
@log_exceptions
def demo_function2():
# 函数2的逻辑代码 # 更多的被装饰函数...

查看你的日志:

2023-07-10 14:42:25,757 - ERROR - Exception in function demo_function1: division by zero
Traceback (most recent call last):
File "G:\Python爬虫\mylog.py", line 10, in wrapper
return func(*args, **kwargs)
File "G:\Python爬虫\mylog.py", line 19, in demo_function1
print(1 / 0)
ZeroDivisionError: division by zero

Python的日志的更多相关文章

  1. python logging 日志轮转文件不删除问题

    前言 最近在维护项目的python项目代码,项目使用了 python 的日志模块 logging, 设定了保存的日志数目, 不过没有生效,还要通过contab定时清理数据. 分析 项目使用了 logg ...

  2. python标准日志模块logging及日志系统设计

    最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下. python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发 ...

  3. python处理日志文件

    python处理日志文件 1 打开日志文件 虽然,日志文件的后缀为.log,但是基本上与文本文件没有区别,按照一般读取文本文件的方式打开即可: fp =open("e:\\data.log& ...

  4. 【转】Python之日志处理(logging模块)

    [转]Python之日志处理(logging模块) 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging ...

  5. Python统计日志中每个IP出现次数

    介绍了Python统计日志中每个IP出现次数的方法,实例分析了Python基于正则表达式解析日志文件的相关技巧,需要的朋友可以参考下 本脚本可用于多种日志类型 #-*- coding:utf-8 -* ...

  6. 使用python实现日志功能

    Python脚本日志系统   Python通过logging模块提供日志功能,关于logging模块的使用网络上已经有很多详细的资料,这里要分享的是怎样在实际工程中使用日志功能. 假设要开发一个自动化 ...

  7. python 多线程日志切割+日志分析

    python 多线程日志切割+日志分析 05/27. 2014 楼主最近刚刚接触python,还是个小菜鸟,没有学习python之前可以说楼主的shell已经算是可以了,但用shell很多东西实现起来 ...

  8. python标准日志模块logging的使用方法

    参考地址 最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下.python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果 ...

  9. python 日志的配置,python对日志封装成类,日志的调用

    # python 日志的配置,python对日志封装成类,日志的调用 import logging # 使用logging模块: class CLog: # --------------------- ...

  10. Python 配置日志的几种方式

    Python配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: (1)使用Python代码显式的创建loggers,handlers和formatters并分别调用它们的配 ...

随机推荐

  1. 利用mybatis拦截器记录sql,辅助我们建立索引(一)

    背景 由于现在的工作变成了带别的小伙子一起做项目,就导致,整个项目中的代码不再全部都是自己熟悉的,可能主要是熟悉其中的部分代码. 但是最终项目上线,作为技术责任人,线上出任何问题,我都有责任(不管是不 ...

  2. Elasticsearch的分享

    一.生活中的数据 搜索引擎是对数据的检索,所以我们先从生活中的数据说起.我们生活中的数据总体分为两种: 结构化数据 非结构化数据 结构化数据: 也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格 ...

  3. C#遍历获取文件夹下所有文件

    1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using ...

  4. a链接被点击后,在跳转之前的处理事件

    在HTML中,<a> 标签通常用于创建链接,使用户能够点击并跳转到另一个页面或网址.如果你想在跳转前处理一些事件,你可以使用JavaScript来实现这一功能. 以下是一个简单的示例,展示 ...

  5. cmake-3

    本节内容,转载文章:https://www.zhihu.com/column/c_200294809 :参考程序:https://github.com/BrightXiaoHan/CMakeTutor ...

  6. HElib

    什么是HElib? HElib是一个基于C++语言的同态加密开源软件库,底层依赖于NTL数论运算库和GMP多精度运算库实现,主要开发者为IBM的Halevi,目前最新版本为1.0.2,实现了支持&qu ...

  7. Q:Oracle表空间使用权限错误:ORA-01950

    使用A用户账号(默认表空间tablespace_A),A用户表中插入数据报错ORA-01950 报错处理方法: 方法1:授予用户A unlimited tablespace权限 grant unlim ...

  8. 管理虚拟机(virtual-manager)

  9. flutter-原生路由传自定义对象

    自定义对象 1 class Dk { 2 int id; 3 String title; 4 String address; 5 String ww; 6 String account; 7 } 传值 ...

  10. QT5笔记:9. QT的容器类

    QList 中存放对象指针,QVector直接存放对象,所以访问性能更高 QMap中key不可以重复,QMultiMap中key可以重复 QMap在内存中顺序存储,QHash不是顺序存储的(hash算 ...