网站首页 > 技术文章 正文
日志
日志是程序中必不可少的一部分,他可以记录程序的运行的情况,可以帮助我们方便的找到出问题的地方
python中的logging模块给我们提供了非常多的便利
logging给我们提供了五种函数用来输出日志:debug()、info()、waring()、error()和critical()
这五种函数的使用场景:
DEBUG:详细信息,典型地调试问题时会感兴趣。
INFO: 证明事情按预期工作。
WARNING: 表明发生了一些意外,或者不久的将来会发生问题(如‘磁盘满了’)。软件还是在正常工作。
ERROR:由于更严重的问题,软件已不能执行一些功能了。
CRITICAL:严重错误,表明软件已不能继续运行了。
这篇文章只介绍logging的简单使用,下一篇文章将会介绍设置复杂的配置,以便满足更多的需求
简单配置
简单的配置适用于小的脚本文件中或者是小的项目中
简单配置
首先我们利用了logging.basicConfig()函数设置logging。下面介绍其中的属性
level,设置需要捕获的日志级别,如果日志消息的级别高于设定的值则捕获该日志消息把它打印到屏幕上或者存储到文件中,如果低于该级别则不捕获
format,用于设置日志消息的格式
Attribute Format Description
asctime %(asctime)s 将日志的时间构造成可读的形式,默认情况下是‘2016-02-08 12:00:00,123’精确到毫秒
filename %(filename)s 包含path的文件名
funcName %(funcName)s 由哪个function发出的log
levelname %(levelname)s 日志的最终等级(被filter修改后的)
message %(message)s 日志信息
lineno %(lineno)d 当前日志的行号
pathname %(pathname)s 完整路径
process %(process)s 当前进程
thread %(thread)s 当前线程
filemode:设置记录日志的方式,'w'将会重新改写整个日志文件,'a'将会在原来的文件中追加内容
3. datefmt:可以设置日志消息中时间的显示格式
4. filename:设置将日志记录到那个文件当中,如果不设置这个值,日志将会打印到屏幕上
5. filemode:设置将日志写入文件的方式,'a'是追加到文件中,'w'是重写文件
注意:上面配置的属性都是可选的,他们都是有默认值的
分析代码
在代码中我们将日志以追加的方式写到同目录中的my.log中,并设置了消息的格式和处理消息的级别是INFO,所以只有
INFO和比INFO级别更高的日志消息我们才会记录捕获
我们设置了两个函数test1、test2,在test1中
test1
我们可以在日志消息中引用变量,我们看看运行的效果
my.log
可以看到只在my.log文件中写入了info和warning消息,而程序中的debug消息并没有写入,这是因为debug的级别小于info。
logging简单的配置非常简单好用,下一篇文章将介绍logging复杂的配置
本文章是由热衷python和前端原创发布,如需转载请注明出处
欢迎大家关注头条号:热衷python和前端
如果有需要源码的同学就留言或者私聊我吧
猜你喜欢
- 2025-05-27 Python、JavaScript和Rust的Web性能比较
- 2025-05-27 「全网首发」言简意赅的Python语法,内附详细知识点和思维导图
- 2024-09-25 Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 2024-09-25 node之外的后端语言,Java、Python、Go 哪个适合web前端工程师?
- 2024-09-25 Python Web全栈之旅02--Web前端●走入HTML的世界(中)
- 2024-09-25 7个Python包:web前端开发者必备,基础到高级的基石
- 2024-09-25 Python Web全栈之旅10--Web前端●CSS定位
- 2024-09-25 我适不适合学前端?看完老程序员的这篇文章给你答案
- 2024-09-25 零基础选择Java、PHP、Python还是前端培训好呢?
- 2024-09-25 分享 5 个让你看起来更专业的 Python 代码片段
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)