初探python的日志模块logging

日志记录是软件中必不可少的功能,它能记录系统运行状态,帮助技术人员定位问题。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

时间: 2024-10-28 22:09:24

初探python的日志模块logging的相关文章

python标准日志模块logging的使用方法_python

最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下.python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用: 复制代码 代码如下: import logging# 创建一个loggerlogger = logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)# 创建一个ha

python标准日志模块logging的使用方法

参考地址 最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下.python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用: 复制代码代码如下: import logging# 创建一个loggerlogger = logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)# 创建

Python中的日志模块logging

  这篇文章主要介绍了Python中的日志模块logging,包括Python下的日志级别以及模块内常用方法的使用,需要的朋友可以参考下 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在.NET平台中,有非常著名的第三方开源日志组件log4net,c++中,有人们熟悉的log4cpp,而在python中,我们不需要第三方的日志组件,因为它已经为我们提供了简单易用.且功能强大的日志模块:logging.logging模块支持将日志信息保存到不

Python中内置的日志模块logging用法详解_python

logging模块简介 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式. logging模块与log4j的机制是一样的,只是具体的实现细节不同.模块提供logger,handler,filter,formatter. logger:提供日志接口,供应用代码使用.logger最长用的操作有两类:配置和发

Python日志模块logging简介_python

logging分为4个模块: loggers, handlers, filters, and formatters. ●loggers: 提供应用程序调用的接口 ●handlers: 把日志发送到指定的位置 ●filters: 过滤日志信息 ●formatters: 格式化输出日志 Logger Logger.setLevel() 设置日志级别 Logger.addHandler()和Logger.removeHandler() 增加和删除日志处理器 Logger.addFilter()和Log

怎样使用Python脚本日志功能_python

假设要开发一个自动化脚本工具,工程结构如下,Common这个package是框架功能的实现,Scripts目录是我们编写的测试用例脚本(请忽略其他不相关的目录). 我们对日志功能的需求如下:      1 为了便于日志的查看,每个脚本对应一个日志文件,日志文件以脚本的名字命名      2 日志路径以及每个脚本保存的日志容量可以设置,比如设置为5MB,则超过后最老日志被自动覆盖      3 日志功能要使用方便,减少与框架业务功能的耦合 现在来逐一分析上述需求. 1 要实现每个脚本一个日志文件,

Python的SQLalchemy模块连接与操作MySQL的基础示例_python

一.SQLalchemy简介SQLAlchemy是一个开源的SQL工具包,基本Python编程语言的MIT许可证而发布的对象关系映射器.SQLAlchemy提供了"一个熟知的企业级全套持久性模式,使用ORM等独立SQLAlchemy的一个优势在于其允许开发人员首先考虑数据模型,并能决定稍后可视化数据的方式.二.SQLAlchempy的安装首先需安装mysql,这里就不再多说了..... 然后,下载SQLAlchemy(http://www.sqlalchemy.org/download.html

django1.4日志模块配置及使用

一.默认日志配置 在django 1.4中默认有一个简单的日志配置,如下 # A sample logging configuration. The only tangible logging # performed by this configuration is to send an email to # the site admins on every HTTP 500 error when DEBUG=False. # See http://docs.djangoproject.com/

解析Nginx中的日志模块及日志基本的初始化和过滤配置_nginx

无论在任何项目中,日志都是一个非常重要的模块,无论是问题定位还是日常信息的管理,都离不开他 在nginx中,ngx_errlog_module模块专门用于处理nginx日志信息,是nginx的core模块之一 在 main 函数中,时间初始化结束后马上进行的就是日志模块的初始化 日志结构: 日志模块的初始化主要做的事情就是初始化全局变量 ngx_log,并创建 errlog 文件 ngx_log_s 结构ngx_log 变量是一个 ngx_log_s 结构体,定义在 core/ngx_log.h