- 初窥Scrapy
- 安装指南
- Scrapy入门教程
- 例子
- 命令行工具(Command line tools)
- Items
- Spiders
- 选择器(Selectors)
- Item Loaders
- Scrapy终端(Scrapy shell)
- Item Pipeline
- Feed exports
- Link Extractors
- Logging
- 数据收集(Stats Collection)
- 发送email
- Telnet终端(Telnet Console)
- Web Service
- 常见问题(FAQ)
- 调试(Debugging)Spiders
- Spiders Contracts
- 实践经验(Common Practices)
- 通用爬虫(Broad Crawls)
- 借助Firefox来爬取
- 使用Firebug进行爬取
- 调试内存溢出
- 下载项目图片
- Ubuntu 软件包
- Scrapyd
- 自动限速(AutoThrottle)扩展
- Benchmarking
- Jobs: 暂停,恢复爬虫
- DjangoItem
- 架构概览
- 下载器中间件(Downloader Middleware)
- Spider中间件(Middleware)
- 扩展(Extensions)
- 核心API
- Requests and Responses
- Settings
- 信号(Signals)
- 异常(Exceptions)
- Item Exporters
- Release notes
- Contributing to Scrapy
- Versioning and API Stability
- 试验阶段特性
- 索引
- Python 模块索引
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Logging
Scrapy提供了log功能。您可以通过 scrapy.log 模块使用。当前底层实现使用了 Twisted logging ,不过可能在之后会有所变化。
log服务必须通过显示调用 scrapy.log.start() 来开启,以捕捉顶层的Scrapy日志消息。 在此之上,每个crawler都拥有独立的log观察者(observer)(创建时自动连接(attach)),接收其spider的日志消息。
Log levels
Scrapy提供5层logging级别:
- CRITICAL - 严重错误(critical)
- ERROR - 一般错误(regular errors)
- WARNING - 警告信息(warning messages)
- INFO - 一般信息(informational messages)
- DEBUG - 调试信息(debugging messages)
如何设置log级别
您可以通过终端选项(command line option) –loglevel/-L 或 LOG_LEVEL 来设置log级别。
如何记录信息(log messages)
下面给出如何使用 WARNING 级别来记录信息的例子:
from scrapy import log log.msg("This is a warning", level=log.WARNING)
在Spider中添加log(Logging from Spiders)
在spider中添加log的推荐方式是使用Spider的 log() 方法。该方法会自动在调用 scrapy.log.msg() 时赋值 spider 参数。其他的参数则直接传递给 msg() 方法。
scrapy.log模块
- scrapy.log.start(logfile=None, loglevel=None, logstdout=None)
启动Scrapy顶层logger。该方法必须在记录任何顶层消息前被调用 (使用模块的 msg() 而不是 Spider.log 的消息)。否则,之前的消息将会丢失。
参数: - logfile (str) – 用于保存log输出的文件路径。如果被忽略, LOG_FILE 设置会被使用。 如果两个参数都是 None ,log将会被输出到标准错误流(standard error)。
- loglevel – 记录的最低的log级别. 可用的值有: CRITICAL, ERROR, WARNING, INFO and DEBUG.
- logstdout (boolean) – 如果为 True , 所有您的应用的标准输出(包括错误)将会被记录(logged instead)。 例如,如果您调用 “print ‘hello’” ,则’hello’ 会在Scrapy的log中被显示。 如果被忽略,则 LOG_STDOUT 设置会被使用。
- scrapy.log.msg(message, level=INFO, spider=None)
记录信息(Log a message)
参数: - message (str) – log的信息
- level – 该信息的log级别. 参考 Log levels.
- spider (Spider 对象) – 记录该信息的spider. 当记录的信息和特定的spider有关联时,该参数必须被使用。
- scrapy.log.CRITICAL
严重错误的Log级别
- scrapy.log.ERROR
错误的Log级别 Log level for errors
- scrapy.log.WARNING
警告的Log级别 Log level for warnings
- scrapy.log.INFO
记录信息的Log级别(生产部署时推荐的Log级别)
- scrapy.log.DEBUG
调试信息的Log级别(开发时推荐的Log级别)
Logging设置
以下设置可以被用来配置logging:
- LOG_ENABLED
- LOG_ENCODING
- LOG_FILE
- LOG_LEVEL
- LOG_STDOUT
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论