赞
踩
日志是什么?用来做什么?
- 日志是对软件执行时所发生事件的一种追踪方式。
- 软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。
- 一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。
- 开发者还会区分事件的重要性,重要性也被称为 等级 或 严重性。
日志库采用模块化方法,并提供几类组件:记录器、处理器、过滤器和格式器。
日志事件信息在 LogRecord 实例中的记录器、处理器、过滤器和格式器之间传递。
在命名记录器时使用的一个好习惯是在每个使用日志记录的模块中使用模块级记录器,命名如下:
logger = logging.getLogger(__name__)
这意味着记录器名称跟踪包或模块的层次结构,并且直观地从记录器名称显示记录事件的位置。
记录器层次结构的根称为根记录器。 这是函数 debug() 、 info() 、 warning() 、 error() 和 critical() 使用的记录器,它们就是调用了根记录器的同名方法。 函数和方法具有相同的签名。 根记录器的名称在输出中打印为 ‘root’ 。比如这样:
import logging
logging.basicConfig(filename='example.log', level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')
logging.error('And non-ASCII stuff, too, like ?resund and Malm?')
输出:
DEBUG:root:This message should go to the log file
INFO:root:So should this
WARNING:root:And this, too
ERROR:root:And non-ASCII stuff, too, like ?resund and Malm?
当然,可以将消息记录到不同的地方。 软件包中的支持包含,用于将日志消息写入文件、 HTTP GET/POST 位置、通过 SMTP 发送电子邮件、通用套接字、队列或特定于操作系统的日志记录机制(如 syslog 或 Windows NT 事件日志)。 目标由 handler 类提供。 如果你有任何内置处理器类未满足的特殊要求,则可以创建自己的日志目标类。
级别 | 数值 |
---|---|
CRITICAL | 50 |
ERROR | 40 |
WARNING | 30 |
INFO | 20 |
DEBUG | 10 |
NOTSET | 0 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。