python日志组件logging模块(一)
来源:互联网 发布:linux的gcc编译器 编辑:程序博客网 时间:2024/06/08 01:04
1、logging简介:
Logging是python自带的模块,这个模块支持输出不同级别的日志,可以输出到控制台和写入文件,支持TCP、HTTP、SMTP、Socket等协议,将日志信息发送到网络等等。
Logging提供5个等级的输出,CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,如果把looger的级别设置为INFO, 那么小于INFO级别的日志都不输出, 大于等于INFO级别的日志都输出
logging库提供了多个组件:Logger、Handler、Filter、Formatter:
- Logger 对象提供应用程序可直接使用的接口,供应用代码使用;
- Handler 发送日志到适当的目的地;
- Filter 提供了过滤日志信息的方法,控制输出;
- Formatter 指定日志输出和显示的具体格式。
2、输出最简单的日志:
import logginglogging.getLogger().setLevel(logging.DEBUG)logging.log(logging.DEBUG,"debug")logging.getLogger().setLevel(logging.INFO)logging.log(logging.INFO,"info")logging.getLogger().setLevel(logging.WARNING)logging.log(logging.WARNING,"warning")logging.getLogger().setLevel(logging.ERROR)logging.log(logging.ERROR,"error")logging.getLogger().setLevel(logging.CRITICAL)logging.log(logging.CRITICAL,"critical")
设置了日志级别之后,logging默认将大于等于此日志级别的信息输出,上面的是输出到控制台,如果想要输出到文件,加上下面代码就好
logging.getLogger().addHandler(logging.FileHandler('./log.txt'))
上面的例子给大家一个粗略的印象,下面在说下logging的日志输出,logging日志除了可以打印到控制台外,还有如下输出方式;
logging.
StreamHandler 输出到标准输出
logging.
FileHandler
(filename, mode='a', encoding=None, delay=False) 输出到文件logging.
NullHandler
logging.handlers.
RotatingFileHandler
(filename, mode='a', maxBytes=0, backupCount=0, encoding=None, delay=0)。按照文件大小分文件logging.handlers.
TimedRotatingFileHandler
(filename, when='h', interval=1, backupCount=0, encoding=None, delay=False, utc=False)¶。 按照时间间隔生成到日志文件,归档的日志文件自动添加时间戳logging.handlers.
SocketHandler
(host, port)。 发送到socketlogging.handlers.
DatagramHandler
(host, port)。 发送到udplogging.handlers.
SMTPHandler
(mailhost, fromaddr, toaddrs, subject, credentials=None, secure=None)。 发送到指定邮件logging.handlers.
BufferingHandler
(capacity)。 发送到内存,超过限制时落地logging.handlers.
HTTPHandler
(host, url, method='GET’)。 http方式发送日志
PS:下一个题目将使用logging的配置文件模块,在封装一个日志接口,这样,开发时直接配置需要使用哪种日志方式即可
阅读全文
0 0
- python日志组件logging模块(一)
- python日志组件logging模块(二)
- python的logging日志模块(一)
- Python日志模块-logging
- Python日志模块logging
- Python 日志(logging)模块
- Python:logging日志模块
- python日志模块----logging
- python 日志模块 logging
- python(logging )日志模块
- python logging日志模块
- Python 日志logging模块
- python logging日志模块
- python日志模块---logging
- python 日志模块logging
- Python--日志模块Logging
- python logging日志模块
- Python logging 日志模块
- 阿里云存储失败
- 移动端中弹框显示模型属性信息的实现方案
- Mybatis的$和#的区别
- 【转载】读完这些书,妈妈再也不用担心你的学习了
- DSL风格数据库编程之实践
- python日志组件logging模块(一)
- SQLSERVER的客户端连接(java web)
- Codeforces Round #443 (Div. 2) A. Borya's Diagnosis
- Django 分页
- 信息传递EventBus
- Linux常用命令
- 线程状态转换说明
- git 中文显示问题
- Twitter的分布式自增ID算法snowflake (Java版)