Python-日志模块笔记

这篇具有很好参考价值的文章主要介绍了Python-日志模块笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

日志处理

介绍

在Python中,logging模块提供了强大的日志记录功能,用于记录和输出程序运行时的各种消息和状态信息。通过使用logging模块,您可以控制日志的级别、格式和输出位置,以便更好地了解和调试程序的行为。

日志:记录软件运行发生的事件
程序测试、排错、用户的行为分析

python   loggin 处理日志
五个日志等级
日志等级:  数值表示    描述
DEBUG      10      最详细的日志信息,开发过程中用于诊断问题
INFO       20      详细日志信息,记录关键节点的信息
WARNIMG    30(默认)  当前不期望的事情发生
ERROR      40      发生错误问题导致某些功能不能正常使用
CRITICAL   50      发生严重错误,导致程序不能继续运行

loggin日志的四大组件:

  • 日志器 logger – 用来记录日志
  • 处理器 handler – 用来指定输出的
  • 过滤器 filter
  • 格式器 formatter

使用

下面是关于logging模块的详细介绍和使用方法:

  1. 导入logging模块:
import logging
  1. 配置日志:

在使用logging模块之前,您需要配置日志的基本设置,如日志级别、输出格式和输出位置。可以通过以下方式进行配置:

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

上述配置将设置日志级别为DEBUG,日志的格式为[时间戳] - [日志级别] - [日志消息]。您可以根据需要自定义日志级别和格式。

  1. 记录日志消息:

使用logging模块记录日志消息非常简单。常用的日志级别包括DEBUGINFOWARNINGERRORCRITICAL。可以通过以下方式记录日志消息:

logging.debug('这是一条DEBUG级别的日志消息')
logging.info('这是一条INFO级别的日志消息')
logging.warning('这是一条WARNING级别的日志消息')
logging.error('这是一条ERROR级别的日志消息')
logging.critical('这是一条CRITICAL级别的日志消息')
  1. 输出日志:

默认情况下,日志消息会被输出到标准输出(控制台)。但您也可以将日志消息输出到文件或其他位置。以下是几种常用的输出方式:

  • 输出到文件:
logging.basicConfig(filename='app.log', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

上述配置将日志消息输出到名为app.log的文件中。

  • 输出到多个位置:
logger = logging.getLogger()
logger.addHandler(logging.StreamHandler())  # 输出到控制台
logger.addHandler(logging.FileHandler('app.log'))  # 输出到文件

上述配置将日志消息同时输出到控制台和文件中。

  1. 高级配置:

logging模块还提供了许多高级功能,如日志回滚、过滤器和自定义处理程序等。您可以根据需要查阅官方文档来深入了解这些功能。

这是关于logging模块的基本介绍和使用方法。通过使用logging模块,您可以更好地控制和管理程序的日志,从而更轻松地调试和排查问题。希望对您有帮助!

例子:

import logging
log_format = "%(asctime)s - %(filename)s - %(levelname)s:%(message)s"

logging.basicConfig(level=logging.DEBUG,format=log_format,filename="test.log")
logging.debug("this is debug")
logging.info("this is info")
logging.warning("this is warning")
logging.error("this is error")

第二个例子:同时输出到文件和屏幕文章来源地址https://www.toymoban.com/news/detail-516477.html

import logging
from logging import FileHandler,StreamHandler
from logging.handlers import TimedRotatingFileHandler,RotatingFileHandler

# 得到一个日志器,日志器用来记录日志
logger = logging.getLogger()

# 处理器
# 决定日志输出到哪里
# fh = FileHandler("sc.log")
#按大小轮转
# fh = RotatingFileHandler("sc_bak.log",maxBytes=100,backupCount=2)
#按时间轮转
fh = TimedRotatingFileHandler("sc_bak.log",when="S",interval=2,backupCount=2)

#输出到屏幕
ch = StreamHandler()

#格式器
log_format = "%(asctime)s - %(filename)s - %(levelname)s:%(message)s"
formatter = logging.Formatter(log_format)

#绑定formatter到handler
fh.setFormatter(formatter)
ch.setFormatter(formatter)


#将handler帮到logger对象上
logger.addHandler(fh)
logger.addHandler(ch)


logging.warning("this is warning")
import time
for i in range(10):
    time.sleep(0.5)
    logging.warning(f"this is warnning..{i}")

#日志器层级关系,类似继承
#没有传递参数,获取到的logger 称为 root logger
# logger2 = logging.getLogger("sc")
# logger2.error("this is error logger2")

到了这里,关于Python-日志模块笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Python日志模块:实战应用与最佳实践

    本文详细解析了Python的logging模块,从基本介绍到实际应用和最佳实践。我们通过具体的代码示例解释了如何高效地使用这个模块进行日志记录,以及如何避免常见的陷阱,旨在帮助读者更好地掌握这个强大的工具。 在开发过程中,为了记录应用程序的运行情况,通常我们会

    2024年02月17日
    浏览(40)
  • python 常用内置模块之 logging(日志输出)

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

    2024年02月05日
    浏览(52)
  • [python]使用标准库logging实现多进程安全的日志模块

    原本应用的日志是全部输出到os的stdout,也就是控制台输出。因其它团队要求也要保留日志文件,便于他们用其他工具统一采集,另一方面还要保留控制台输出,便于出问题的时候自己直接看pod日志。具体需求如下: 日志支持同时控制台输出和文件输出 控制台的输出级别可以

    2024年01月23日
    浏览(35)
  • 【Python自学笔记】Python好用的模块收集(持续更新...)

    写代码离不开日志,自定义一个理想的日志对于小白来说可能是一件很反锁的事情,就像我刚学习Python的时候自己写的一

    2024年02月10日
    浏览(34)
  • Python补充笔记5-模块化、文件

    目录 一、模块 二、模块的导入 三、python中的包​编辑 四、常用的内容模块 五、第三方模块的安装与使用 六、编码格式的介绍 七、文件读写的原理 八、常用的文件打开模式 ​九、文件对象的常用方法 十、with语句​编辑 十一、os模块的常用函数 十二、os.path模块的常用方法

    2024年02月15日
    浏览(34)
  • 10分钟快速上手LLM大模型Python前端开发(三)之显示模块(一)

    微信公众号:leetcode_algos_life,代码随想随记 小红书:412408155 CSDN:https://blog.csdn.net/woai8339?type=blog GitHub: https://github.com/riverind 抖音【暂未开始,计划开始】:tian72530 知乎【暂未开始,计划开始】:happy001 本系列主要应用于大模型前端展示,十分钟快速上手前端系列。 该文章

    2024年01月16日
    浏览(40)
  • 菜鸟教程《Python 3 教程》笔记(16):模块

    笔记带有个人侧重点,不追求面面俱到。 出处: 菜鸟教程 - Python3 模块 模块 是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。 不管执行了多少次 import,一个模块只会被导入一次。 使用 import 语句的时候

    2024年02月09日
    浏览(40)
  • 【Python学习笔记(五)】csv模块的使用

    CSV是数据处理中经常会用到的一种文件格式,一般也被叫做逗号分隔值文件,是一种纯文本文件,使用特定的结构来排列表格数据,可以使用 Excel 软件或者文本文档打开 。 csv模块 是 python标准库模块,无需手动安装,可以直接导入 import csv # 导入csv模块 ,此篇文章介绍csv模

    2024年02月08日
    浏览(43)
  • python笔记:第十章开箱即用的模块

    任何python程序都可以作为模块导入,并标明程序(模块)的位置 会在该文件夹里面自动生成一个 __pycache__ 文件夹,包含处理后的文件。(可删除,无影响) 在hello.py里面编写函数 在t13.py里面调用模块函数 运行结果 检查模块是作为程序运行还是被导入到另一个程序 如:在

    2024年02月17日
    浏览(46)
  • Java项目实战笔记--基于SpringBoot3.0开发仿12306高并发售票系统--(二)项目实现-第二篇-前端模块搭建及单点登录的实现

    本文参考自 Springboot3+微服务实战12306高性能售票系统 - 慕课网 (imooc.com) 本文是仿12306项目实战第(二)章——项目实现 的第二篇,详细讲解使用Vue3 + Vue CLI 实现前端模块搭建的过程,同时其中也会涉及一些前后端交互的实现,因此也会开发一些后端接口;搭建好前端页面后,

    2024年03月26日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包