python | Logging日志标准库的常见使用方法(手搓日志记录装饰器)

这篇具有很好参考价值的文章主要介绍了python | Logging日志标准库的常见使用方法(手搓日志记录装饰器)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


01 基础使用

日志级别从低到高分为:DEBUG < INFO < WARNING < ERROR < CRITICAL
使用前需要设置记录的日志级别,只有大等于该日志级别的日志才会被记录。
例如,设置日志级别为WARNING,则WARNINGERRORCRITICAL三种级别的日志才会被记录。

import logging

# 使用前需要先设置日志级别 这里设置的是DEBUG
logging.basicConfig(level=logging.DEBUG)
logging.debug("这是一个debug消息")
logging.info("这是一个info消息")
logging.warning("这是一个warning消息")
logging.error("这是一个error消息")
logging.critical("这是一个critical消息")

运行这段代码,可以在控制台看到以下输出:

DEBUG:root:这是一个debug消息
INFO:root:这是一个info消息
WARNING:root:这是一个warning消息
ERROR:root:这是一个error消息
CRITICAL:root:这是一个critical消息

02 日志格式化

可以自定义日志的输出格式,参考:

logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s [%(levelname)s]: %(message)s",
    datefmt="%Y-%m-%d %H:%M:%S"
)

03 输出到文件

默认情况下,日志输出到控制台。如果你想把日志输出到文件,可以这样设置:

logging.basicConfig(
    filename='app.log',
    level=logging.DEBUG,
    format="%(asctime)s [%(levelname)s]: %(message)s"
)

04 手搓一个日志装饰器

手写一个装饰器,该装饰器挂在函数上,可以实现打印函数的输入与输出。
下面是参考代码:文章来源地址https://www.toymoban.com/news/detail-676381.html

import logging
from functools import wraps

# 定义日志级别和格式化
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S'
)


def return_log(func):
    """用于输出打印函数的返回值"""
    @wraps(func)
    def wrapper(*args, **kwargs):
        result = func(*args, **kwargs)
        logging.info(f"func <{func.__name__}> return: {result}")
        return result
    return wrapper


def args_log(func):
    """用于输出打印函数的传入参数"""
    @wraps(func)
    def wrapper(*args, **kwargs):
        logging.info(f"func <{func.__name__}> args: {args}, kwargs: {kwargs}")
        return func(*args, **kwargs)
    return wrapper

到了这里,关于python | Logging日志标准库的常见使用方法(手搓日志记录装饰器)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python实战 | 使用 Python 的日志库(logging)和 pandas 库对日志数据进行分析

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月05日
    浏览(37)
  • python自动定时任务schedule库的使用方法

    当你需要在 Python 中定期执行任务时, schedule 库是一个非常实用的工具。它可以帮助你自动化定时任务。以下是一些使用示例: 基本使用 : 上面的代码表示每隔 10 分钟执行一次 job 函数,非常简单方便。 更多调度任务例子 : 只运行一次任务 : 参数传递给作业 : 获取目前

    2024年02月21日
    浏览(27)
  • Python安装库的几种方法(使用Pycharm几种方法)

    1.我的Pycharm已经改成中文格式了 首先在Pycharm中进行安装库 进入Python解释器中。 里面搜素需要的库,可能速度很慢,有的库没有,可以采用别的方法。 2. cmd安装库文件 Windows+R进入CMD命令下。 直接输入 pip install *** 就可以了 就是自动安装需要的库。 3.直接使用别人已经安装好

    2024年02月13日
    浏览(29)
  • Python视频编辑神器:全面分析ffmpeg-python库的安装与使用方法

    Python视频编辑神器:全面分析ffmpeg-python库的安装与使用方法 在Python中进行视频编辑是一件令人兴奋的事情,它能够让你深入了解和控制你想要的任何一帧视频。而在Python视频编辑工具中,ffmpeg-python库可以说是至关重要的一员。它能够让你轻松地处理视频、音频等多媒体数据

    2024年02月10日
    浏览(42)
  • PySerial:Python串口通信库的详细介绍、安装及使用方法攻略

    PySerial:Python串口通信库的详细介绍、安装及使用方法攻略 一、PySerial 简介 PySerial 是 Python 的一个串口通信库,支持不同平台下的串口操作。在 Python 应用中,使用 PySerial 可以非常方便地实现对串口设备的读写操作。 二、PySerial 的安装 在 Windows 平台下,可以通过 pip 命令安装

    2024年02月09日
    浏览(36)
  • python 安装库常用的国内镜像、使用镜像安装库的方法

    语法格式: pip install 库名 -i 镜像网址 如使用豆瓣安装requests库:

    2024年02月06日
    浏览(31)
  • python创建多个logging日志文件

    为每一个计算过程创建一个单独的日志文件,并写入对应的结果,同时保留控制台输出的功能,控制台输出与日志文件记录可以分开单独控制。 控制台输出结果  日志文件输出

    2024年02月13日
    浏览(31)
  • Python中py2neo库的基本使用方法

    因为需要将处理好的csv文件用neo4j存储,因此想到使用python将数据导入neo4j,就需要用到py2neo库。 安装py2neo库: 首先是建立连接: 注意:这里传入用户名和密码使用的auth元组形式 Node和Relationship可以定义对应的实例,Node第一个参数是label, 再利用graph.create()创建。打开neo4j可以

    2024年02月16日
    浏览(40)
  • 深入理解Python中的日志记录(Logging)

    🚀  个人主页 :xmp65535 🚀  专栏 :python技术专栏 目录 一、Python Logging 模块概述 二、相关组件 Logger Handler Formatter Filter LogRecord Level 三、基本配置 Formatters格式: 四、记录日志 五、日志记录者(Loggers) logging.getLogger(name=None) 六、处理器(Handlers) logging.Handler() RotatingFileHand

    2024年04月23日
    浏览(27)
  • python 常用内置模块之 logging(日志输出)

    Python logging 模块定义了为应用程序和库实现灵活的事件日志记录的函数和类,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket 等,甚至可以自定义实现具体的日志记录方式。 Logging 优点

    2024年02月05日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包