网络爬虫的运行过程可能很长,为了监控运行状态,可以用日志记录。
日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别。
处理器将日志记录发送到任何输出,这些输出用自己的方式处理日志记录。
例如,FileHandler会获取日志记录并将其附加到文件中。
标准日志记录模块已经配备了多个内置处理器,如:
(1)可以写入文件的多个文件处理器(TimeRotated、SizeRotated、Watched);
(2)StreamHandler可以输出到stdout或stderr等流;
(3)SMTPHandler通过电子邮件发送日志记录;
(4)SocketHandler将日志记录发送到流套接字。
此外,还有SyslogHandler、NTEventHandler、HTTPHandler、MemoryHandler等处理器。
格式器负责将元数据丰富的日志记录序列化为一个字符串。如果没有提供,则有一个默认格式器。记录库提供的通用格式器类将模板和样式作为输入,然后可以为日志记录对象中的所有属性声明占位符。
举个例子,'%(asctime)s %(levelname)s %(name)s: %(message)s'会生成类似这样的日志:
2017-07-19 15:31:13,942 INFO parent.child: Hello EuroPython。
请注意,属性消息是使用提供的参数对日志的原始模板进行插值的结果,例如,对于logger.info("Hello %s", "Laszlo"),消息将是"Hello Laszlo"。
TestStreamHandler.py中的示例代码如下:
输出:
2022-06-24 22:01:28,465 [TestStreamHandler.py:12 - <module> - INFO ] trainning...