Python打印日志方法 1

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Python打印日志方法 1

于测试来讲,日志的重要性就不言而喻了。有些同学提交BUG的时候然写了不少测试步骤,但是你描述的再多,不如一张日志截图好用有些同学分不清前后端的问甚至程序偷偷优化代码提交了一个BUG也没告诉你,如果你习惯测试的时候查看日志,很多问题都变的简单起来。

程序打印的日志有很多,对于Python来讲主要分为5个等级。

logging,python的官方库,打印日志用的,无需安装,使用时直接调

日志的五个等级(DEBUG/INFO/WARNING/ERROR/CRITICAL)

DEBUG (logging.debug

调试日志信息:调试模式下的日志,只给程序员看的日志

INFOlogging.info

重要日志信息程序正常运行的时候输出的日志

WARN/WARNINGlogging.warning

警告日志信息警告信息,当前程序还可以运行,后面有可能出现问题

ERRORlogging.error

错误日志信息程序执行过程中的错误信息

CRITICALlogging.critical

致命日志信息发生严重错误,阻塞流程,程序可能无法继续运行


先来执行一个脚本执行结果:
日志收集器:

log = logging.getLogger() # 获取日志收集器,默认为root。

默认收集等级为WARNING。上面的执行结果只输出了3条,是因为等级高于WARNING的日志才会输出,WARNING为默认等级。

日志级别大小关系为:DEBUG < INFO < WARNING < ERROR < CRITICAL


如果要输出全部的日志,我们可以修改默认等级

logging.basicConfig(level=logging.DEBUG)  

logging.basicConfig 用法和参数详解

我们游戏中看到的日志文件大部分包括几个特性,打印时间、打印内容、打印行号、指定日志文件名。我们可以通过设置 basicConfig()的 format 参数来定义日志的基本格式,看一下下面的例子。

根据以下参数自行解读为什么会有这样的输出。

日志记录的步骤

  1. 创建 logger
  2. 创建 handler
  3. 定义 formatter
  4. 给 handler 添加 formatter
  5. 给 logger 添加 handler

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
2
分享
相关文章
Python数值方法在工程和科学问题解决中的应用
本文探讨了Python数值方法在工程和科学领域的广泛应用。首先介绍了数值计算的基本概念及Python的优势,如易学易用、丰富的库支持和跨平台性。接着分析了Python在有限元分析、信号处理、优化问题求解和控制系统设计等工程问题中的应用,以及在数据分析、机器学习、模拟建模和深度学习等科学问题中的实践。通过具体案例,展示了Python解决实际问题的能力,最后总结展望了Python在未来工程和科学研究中的发展潜力。
|
2月前
|
Python技术解析:了解数字类型及数据类型转换的方法。
在Python的世界里,数字并不只是简单的数学符号,他们更多的是一种生动有趣的语言,用来表达我们的思维和创意。希望你从这个小小的讲解中学到了有趣的内容,用Python的魔法揭示数字的奥秘。
81 26
|
2月前
|
在VScode环境下配置Python环境的方法
经过上述步骤,你的VSCode环境就已经配置好了。请尽情享受这扇你为自己开启的知识之窗。如同你在冒险世界中前行,你的探索之路只有越走越广,你获得的知识只会越来越丰富,你的能力只会越来越强。
197 37
解决Python requests库POST请求参数顺序问题的方法。
总之,想要在Python的requests库里保持POST参数顺序,你要像捋顺头发一样捋顺它们,在向服务器炫耀你那有条不紊的数据前。抓紧手中的 `OrderedDict`与 `json`这两把钥匙,就能向服务端展示你的请求参数就像经过高端配置的快递包裹,里面的商品摆放井井有条,任何时候开箱都是一种享受。
55 10
|
2月前
|
Python 中__new__方法详解及使用
__new__ 是 Python 中用于创建类实例的静态方法,在实例化对象时优先于 __init__ 执行。它定义在基础类 object 中,需传递 cls 参数(表示当前类)。__new__ 可决定是否使用 __init__ 方法或返回其他对象作为实例。特性包括:1) 在实例化前调用;2) 始终为静态方法。示例中展示了其用法及 Python2 和 Python3 的差异,强调了参数处理的不同。
106 10
python__init__方法笔记
本文总结了Python中`__init__`方法的使用要点,包括子类对父类构造方法的调用规则。当子类未重写`__init__`时,实例化会自动调用父类的构造方法;若重写,则需通过`super()`或直接调用父类名称来显式继承父类初始化逻辑。文中通过具体代码示例展示了不同场景下的行为及输出结果,帮助理解类属性与成员变量的关系,以及如何正确使用`super()`实现构造方法的继承。
102 9
[oeasy]python093_find方法_指数为负数_index_实际效果
本文介绍了Python中`find`方法与索引(index)的使用,包括负数索引的实际效果。回顾了`eval`函数的应用,并强调类名如`str`、`int`、`list`不可用作变量名以避免覆盖。通过示例解析了负数索引在字符串和列表中的作用,以及`index`方法的三个参数(value、start、stop)的用法。同时对比了`index`和`find`方法的区别:`index`找不到子串时抛出`ValueError`,而`find`返回-1。最后总结了正负索引的使用场景及两者的特性,提供了相关学习资源链接。
308 8
【Azure Cloud Service】微软云服务上的日志收集方法
本文介绍了在使用微软云服务(Cloud Service Extended Support)时,如何收集日志以分析未记录在应用日志中的服务异常。由于云服务基于传统虚拟机模式,需通过远程桌面登录实例,查看IIS、Windows Event及云服务组件日志(如WindowsAzureGuestAgent)。此外,可使用CollectGuestLogs.exe工具打包日志,或通过“File Server Resource Manager”检查日志存储配额是否不足。附参考文档链接供深入学习。
127 30
|
3月前
|
解决Python报错:DataFrame对象没有concat属性的多种方法(解决方案汇总)
总的来说,解决“DataFrame对象没有concat属性”的错误的关键是理解concat函数应该如何正确使用,以及Pandas库提供了哪些其他的数据连接方法。希望这些方法能帮助你解决问题。记住,编程就像是解谜游戏,每一个错误都是一个谜题,解决它们需要耐心和细心。
170 15
uv安装python及其依赖的加速方法
国内在使用uv的时候,可能会涉及到装python的速度太慢的问题,为了解决这个问题,可以使用`UV_PYTHON_INSTALL_MIRROR`这个环境变量。除此以外,对于多人协作场景,`UV_CACHE_DIR`也是一个有用的环境变量。本文会介绍这两个变量。
2007 10

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问