最新版本的 scrapy 已经废弃了 scrapy.log 的使用,赞成显示调用python标准日志记录。

Python 内建日志系统

import logging

### python 内建 log模块

# 发布日志的快捷方式
logging.warning('warn test1') # WARNING:root:warn test1 # 将日志级别作为参数
logging.log(logging.WARNING, 'warn test2') # WARNING:root:warn test2 ## 利用 “记录器” 封装日志,记录器可以独立配置,并且允许层次结构 # 默认使用根记录器,它是一个顶级记录器【如上面例子】
logger = logging.getLogger() # 显示获取根记录器
logging.warning('warn test3') # WARNING:root:warn test3 # 自定义记录器
logger = logging.getLogger('mylogger')
logger.warning('warn test4') # WARNING:mylogger:warn test4 # 用当前模块的路径定义记录器
logger = logging.getLogger(__name__)
logger.warning('warn.test5') # WARNING:__main__:warn.test5

Scrapy 日志系统

方式一:Spider 实例提供的logger方法

def parse(self, response):
self.logger.info('download success')

方式二:自定义日志记录器

import logging
import scrapy logger = logging.getLogger('mycustomlogger') class MySpider(scrapy.Spider): name = 'myspider'
start_urls = ['https://scrapinghub.com'] def parse(self, response):
logger.info('mydeflog  success')

这两种方式生成的日志记录在系统命令中

日志记录配置

若要生成日志文件,需要在setting中设置

LOG_FILE = 'tq2345.log'
LOG_LEVEL = 'DEBUG'

settings 配置 日志系统

  • LOG_ENABLED    默认为 True,是否启用日志
  • LOG_ENCODING    默认为 utf8,日志编码
  • LOG_FILE        默认为 None,记录日志的文件名
  • LOG_FORMAT      默认为 %(asctime)s [%(name)s] %(levelname)s: %(message)s,格式化日志消息
  • LOG_DATEFORMAT    默认为 %Y-%m-%d %H:%M:%S,格式化日期
  • LOG_LEVEL       默认为 DEBUG,日志级别
  • LOG_STDOUT      默认为 False,如果 True ,进程的所有标准输出(和错误)都将重定向到日志。
  • LOG_SHORT_NAMES    默认为 False,如果 True 日志只包含根路径。如果设置为 False 然后显示负责日志输出的组件

命令行配置日志

利用项目命令配置日志

scrapy crawl spidername --logfile   log.log

经测试,如果 settings 和 命令行 同时对日志进行配置,以命令行为准

也可以设置其他配置,具体请百度

参考资料:

https://www.osgeo.cn/scrapy/topics/logging.html#topics-logging-settings

Scrapy 教程(九)-日志系统的更多相关文章

  1. ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程

    ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...

  2. Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐

    http://blog.csdn.net/lc0817/article/details/53266212/ https://github.com/leoChaoGlut/log-sys 上面是我基于S ...

  3. cocos creator主程入门教程(五)—— 日志系统

    五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇介绍日志系统的设计.一般我们开发一个demo,只会简单的用cocos提供的cc.log打印下日志, ...

  4. Scrapy教程

    Scrapy教程 原文地址https://doc.scrapy.org/en/latest/intro/tutorial.html 此教程我们假设你已经装好了Scrapy,如果没有请查看安装指南.. ...

  5. 无废话ExtJs 入门教程九[数字字段:NumberField、隐藏字段Hidden、日期字段:DataFiedl]

    无废话ExtJs 入门教程九[数字字段:NumberField.隐藏字段Hidden.日期字段:DataFiedl] extjs技术交流,欢迎加群(201926085) 继上第六节内容,我们在表单里加 ...

  6. 黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block 代理对象(Proxy Object) ...

  7. MySQL日志系统

    body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...

  8. 使用 SLF4J + LogBack 构建日志系统(转)

    转载自:http://www.cnblogs.com/mailingfeng/p/3499436.html 上次我们讨论了如何选择一个好的开源日志系统方案,其中的结论是:使用 SLF4J + LogB ...

  9. nxlog4go 简介 - 基于log4go的下一代go语言日志系统

    nxlog4go的项目网址: https://github.com/ccpaging/nxlog4go 项目历史 ccpaging's log4go forked from https://githu ...

随机推荐

  1. error C2280: 尝试引用已删除的函数

    #include<unordered_map> struct SceneData { unordered_map<CString, CString> mConversation ...

  2. js能否上传文件夹

    文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹. ...

  3. Rust:剑指C++

    Rust:极富活力和前途的编程语言,剑指C++ 今天开始学习Rust,马上要回去休息了,只贴上一段实例代码,在后续的学习中,会对这种语言进行一个详尽的介绍(学习中....). extern crate ...

  4. [spring jpa] 解决SimpleJpaRepository的多数据源配置问题

    前言 前段时间使用spring jpa做了一个项目,由于涉及到了多个数据库,因此需要进行多数据源的配置.网上找了很多的资料,尝试着配置,都以失败告终.之后通过断点最终完成了多数据源的配置.这篇博客主要 ...

  5. vsCode格式化插件

    ESlint:是用来统一JavaScript代码风格的工具,不包含css.html等. 背景 近来研究前端,然后一直在百度上找VScode格式化(ESlint)的插件,结果找了半天都不靠谱.目前没有一 ...

  6. ELK5+redhat7.4配置elasticsearch集群

    ELK介绍 ELK是三个开源软件的缩写,即elasticsearch.logstack.kibana. Elasticsearch:开源分布式搜索引擎,提供搜集.分析.存储数据三大功能.它的特点有:分 ...

  7. 第四周学习总结&实验报告

    学习总结; String类: 1.方法只会开辟一块堆内存空间,且会自动保存在对象池中以供下次重复使用: 2方法会开辟两块堆内存空间,其中一块会成为垃圾空间. 1."=="比的是地址 ...

  8. c++11多线程---线程操作

    1.等待线程执行完成 join() 方法数会阻塞主线程直到目标线程调用完毕,即join会直接执行该子线程的函数体部分. 2.暂停线程(线程休眠) 使用std::this_thread::sleep_f ...

  9. 洛谷 P3865 ST表

    ST表 ST表的功能很简单 它是解决RMQ问题(区间最值问题)的一种强有力的工具 它可以做到O(nlogn)预处理,O(1)查询最值 是一种处理静态区间可重复计算问题的数据结构,一般也就求求最大最小值 ...

  10. oracle中awr性能报告阅读笔记

    1.对于数据库运行的业务不太了解,那么awr性能报告中最需要关注的是Top 5 Timed Foreground Events和Time Model Statistics两个部分