logging模块详解
来源:互联网 发布:儿童奶酪 知乎 编辑:程序博客网 时间:2024/06/06 02:45
logging模块
logging模块简单使用
In [1]: import logging # 记录debug级别的日志;In [2]: logging.debug("this is a debug info")# 记录info级别的日志;In [3]: logging.info("this is a info")# 记录警告级别的日志;In [4]: logging.warn("this is a warn")WARNING:root:this is a warn# 记录错误级别的日志;In [5]: logging.error("this is a error info")ERROR:root:this is a error info# 记录严重错误级别的日志;In [6]: logging.critical("this is a critical info")CRITICAL:root:this is a critical info
总结:默认情况下,logging模块将日志打印到屏幕上(stdout),日志级别为WARNING(即只有日志级别高于WARNING的日志信息才会输出),日志格式为:日志级别 : 日志实例的名称 : 日志信息;
- 日志级别
- 怎样设置日志的输出方式(eg:保存到文件…)
#!/usr/bin/env python#coding:utf-8import logging# 通过下面的方式进行简单配置输出方式与日志级别;# 代表日志级别大于等于debug的日志信息保存在文件"mylog.log"文件中;logging.basicConfig(filename="mylog.log", level=logging.DEBUG)logging.debug("debug")logging.info("info")logging.warn("warn")logging.error("error")logging.critical("critical")
# mylog.log文件的内容如下:DEBUG:root:debugINFO:root:infoWARNING:root:warnERROR:root:errorCRITICAL:root:critical
其他重要的概念
Logger 记录器
- Logger 记录器暴露了应用程序代码能直接使用的接口。
- Logger是一个树形层级结构,在使用接口debug,info,warn,error,critical之前必须创建Logger实例,即创建一个记录器.
- 如果没有显式的进行创建,则默认创建一个root logger,并应用默认的日志级别(WARN),处理器Handler(StreamHandler,即将日志信息打印输出在标准输出上),和格式化器Formatter(默认的格式即为第一个简单使用程序中输出的格式)。
创建方法:
logger = logging.getLogger("logger_name")
增加处理器Handler:
# 设置日志级别为ERROR,即只有级别>=ERROR的日志才会输出;logger.setLevel(logging.ERROR) # 为logger实例增加一个处理器;logger.addHandler(handler_name)# 为logger实例删除一个处理器 logger.removeHandler(handler_name)
Handler 处理器
将(记录器产生的)日志记录发送至合适的目的地。
Filter 过滤器
提供了更好的粒度控制,它可以决定输出哪些日志记录。
Formatter 格式化器
指明了最终输出中日志记录的布局。
阅读全文
0 0
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- Python logging模块详解
- python logging模块详解
- logging模块详解
- Python logging 模块详解
- df
- ceph 文件数统计
- With 2 decimals: %1.2f<br />With no decimals: %1u",$number
- 理解WEB层
- CentOS下安装mysql和解决ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/my
- logging模块详解
- Jenkins集成.net单元测试
- Java —— 基础笔记:条件判断优化
- 程序员一年工作经验之谈
- 知识点--xml的几种方式的原理及特点
- Android音频驱动-ASOC之Sound Card创建
- tensorflow实现batch normalization
- 用root启动进程之后,无法再用其他普通用户启动该进程
- 利用Spring与ActiveMQ整合发送、接收消息实例(Queue与Topic模式)