初探python的日志模块logging

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

日志记录是软件中必不可少的功能,它能记录系统运行状态,帮助技术人员定位问题。logging是python自带的日志模块。这里梳理一下这个用法。

最简单用法:

01 #导入包
02 import logging   
03 #基础设置
04 logging.basicConfig(filename = '/tmp/xxx.log',level = logging.INFO, format ='[%(asctime)s %(levelname)s] %(message)s', datefmt = '%Y%m%d %H:%M:%S')
05 #写日志,以不同的级别。
06 logging.debug('debug log')
07 logging.info('info log')
08 logging.warning('warning log')
09 logging.error('error log')
10 logging.critical('critial log')

 函数格式:

1 logging.basicConfig(filename = $日志路径,level = $日志级别, format = $日志格式, datefmt =$时间格式)

 参数介绍:

 日志路径:

可以不设置,默认打印到屏幕。设置文件路径后直接写入文件。

日志级别:

logging模块中的日志分为5个级别, 从高到低依次是:CRITICAL > ERROR > WARNING > INFO > DEBUG.设置了日志级别之后,低于该级别日志将会忽略

1 #除了代码中设置,这样也能设置日志级别。
2 python --log=$级别 xxx.py
3 python --log=INFO xxx.py

 日志格式:

说明 属性名 格式
打印当前时间,默认会展示2003-07-08 16:49:45,896,精度会精确到千分之一秒。 asctime %(asctime)s
打印当前的时间戳(time.time()函数的返回值) created %(created)f
打印当前文件名 filename %(filename)s
打印当前函数名 funcName %(funcName)s
本条日志的日志级别 (‘DEBUG’, ‘INFO’, ‘WARNING’, ‘ERROR’,’CRITICAL’). levelname %(levelname)s
日志级别的整型值 (DEBUG, INFO, WARNING, ERROR,CRITICAL). levelno %(levelno)s
打印日志的代码在文件中的行号 (if available). lineno %(lineno)d
打印当前的模块名 module %(module)s
打印当前时间的毫秒部分。 msecs %(msecs)d
当前的日志内容。 message %(message)s
当前日志的对象的name name %(name)s
打印当前文件的完整路径名。 pathname %(pathname)s
进程号 process %(process)d
进程名 processName %(processName)s
当前时间与日志对象创建的相对时间,显示为毫秒值 relativeCreated %(relativeCreated)d
线程ID thread %(thread)d
线程名 threadName %(threadName)s

时间格式:

类似strftime的格式化转换,参数表见《scrapy笔记——python的时间转换

转载请注明:旅途@KryptosX » 初探python的日志模块logging

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
2月前
|
Python
Python Internet 模块
Python Internet 模块。
133 74
|
3月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
141 63
|
3月前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
3月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
3月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
3月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
3月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
157 62
|
3月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
133 61
|
3月前
|
监控 开发者 Python
Python 默认 `logging` 打印级别详解
本文详细介绍了 Python `logging` 模块的默认打印级别及其配置方法。`logging` 模块支持 `DEBUG`、`INFO`、`WARNING`、`ERROR` 和 `CRITICAL` 五个日志级别,默认级别为 `WARNING`。文章通过示例代码展示了如何设置和使用不同日志级别,并介绍了进一步的配置选项,如日志格式和文件输出。
89 8

热门文章

最新文章