最新版本的 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. AOP aspect XML 配置

    /** * 00配置接入点:定义一个切入点 * execution(* com.foen.foensys.controller..*.*(..))") "*" 第一个* ...

  2. node.js入门学习(一)环境安装,REPL,fs模块,path模块,http模块

    一.node.js介绍 1.1.node.js是什么 官网首页总结:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时. 1)node.js是一个开发平台,就像j ...

  3. Html5大文件断点续传实现方法

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  4. _vimrc

    set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set ...

  5. 使用ThreadPoolTaskScheduler动态修改调度时间

    用SchedulingConfigurer接口只能统一修改,要分开控制的话有多少个job就要有多少个实现.比较麻烦 配置线程池ThreadPoolTaskScheduler @Configuratio ...

  6. JMS学习二(简单的ActiveMQ实例)

    下载安装ActiveMQ服务,下载地址当然可以去官网下载 http://activemq.apache.org/download-archives.html ActiveMQ安装很简单,下载解压后到b ...

  7. linux下vsftpd的安装及配置使用详细步骤(推荐)

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BS ...

  8. 第十一周java学习总结

    目录 第十一周java学习总结 学习内容 学习总结 提交代码截图 代码推送 第十一周java学习总结 学习内容 第13章 Java网络编程 主要内容 URL类 InetAdress类 套接字 UDP数 ...

  9. js 扫码枪的输入

    关于js 获取扫码枪的输入获取方式,之前在网上搜了好多,都是大同小异的,都是说扫码枪输入的时间间隔不会超过30毫秒.但事实上我拿了几台电脑测试的结果是,有的时间间隔甚至超过了100毫秒,所以用时间间隔 ...

  10. Mysql 数据库锁表的原因和解决方法

    摘自: https://www.csdn.net/gather_2f/MtTaIgxsMTM5NC1ibG9n.html 锁表的原因:当多个连接(数据库连接)同时对一个表的数据进行更新操作,那么速度将 ...