Scrapy 如何设置日志

10 篇文章 0 订阅

转:https://www.jianshu.com/p/99d4426c4366

Logging 模块

刚开始接触的时候,我看官方文档只说了怎么设置日志,没有讲去哪里看日志。然后参考了 python 关于 logging 的文档,我发现可以自定义一个输出的文件。

# 在你需要输出日志的地方设置,比如 your_spider.py
import logging
# level 表示级别
logging.basicConfig(filename='example.log',level=logging.DEBUG)

级别的作用

首先,根据严重程度排序:DEBUG < INFO < WARNING < ERROR < CRITICAL

具体每个级别表示什么含义可以按照自己的习惯来处理。如果设置 level=logging.DEBUG,那么以上所有的信息都会被输出到日志。如果设置级别为WARNING,那么只有WARNING及以上会输出到日志。

logging.basicConfig(filename='example.log',level=logging.INFO)
logging.debug('This message won\'t go to the log file')
logging.info('This should')
logging.warning('And this, too')

运行结果:

INFO:root:This should
WARNING:root:And this, too

相关配置

日志来源

INFO:scrapy.core.engine:Spider opened
...
DEBUG:scrapy.extensions.telnet:Telnet console listening on 127.0.0.1:6026
WARNING:root:The failed "info".

Scrapy 的日志中会显示日志的来源,即来自 scrapy 还是来自 root。

写入模式

默认情况下是 a 模式,也就是新日志会直接添加到旧日志后面。有时候调试的时候希望日志文件干净一点,可以用新日志覆盖旧日志,修改成 w 模式:

logging.basicConfig(filename='example.log', filemode='w', level=logging.DEBUG)

日期与时间

如果希望在每条日志前面加具体的时间,可以加入一个参数:

logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')

可以任意自定义,和 time 模块的写法相同。



作者:ruxtain
链接:https://www.jianshu.com/p/99d4426c4366
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值