我在后台调试 在后台调试scrapy spider的时候,总是觉得后台命令窗口 打印的东西太多了不便于观察日志,因此需要一个日志文件记录信息,这样以后会 方便查找问题。

分两种方法吧。

1.简单粗暴。直接命令里面配置LOG_FILE

scrapy crawl hupu -s LOG_FILE=scrapy_hupu_log.log

2.使用logging

在setting中加入配置
LOG_FILE = "hupuSpider.log"
LOG_LEVEL = 'INFO'
# LOG_ENABLED 默认: True,启用logging
# LOG_ENCODING 默认: 'utf-8',logging使用的编码
# LOG_FILE 默认: None,在当前目录里创建logging输出文件的文件名
# LOG_LEVEL 默认: 'DEBUG',log的最低级别
# LOG_STDOUT 默认: False 如果为 True,进程所有的标准输出(及错误)将会被重定向到log中。例如,执行 print "hello" ,其将会在Scrapy log中显示

使用

import logging
logging.log(logging.INFO, 'log content')

logging模块是Python提供的自己的程序日志记录模块。

在大型软件使用过程中,出现的错误有时候很难进行重现,因此需要通过分析日志来确认错误位置,这也是写程序时要使用日志的最重要的原因。

scrapy使用python内置的logging模块记录日志


日志的级别

1. logging.CRITICAL - for critical errors (highest severity)

2. logging.ERROR - for regular errors

3. logging.WARNING - for warning messages

4. logging.INFO - for informational messages

5. logging.DEBUG - for debugging messages (lowest severity)


基本使用方法

1.简单使用方法

import logging

Logging.warning(“this is a test ”)

执行结果:

2.通用的记录日志的方法,可加入日志的级别

import logging

Logging.log(logging.WARNING,”this is a warning”)

3,通过logger记录日志

import logging

logger=logging.getLogger(_name_)

Logger.warning(“this is a warning”)


在scrapy中使用

Scrapy provides a logger within each Spider instance, that can be accessed and used like this:

import scrapy

class MySpider(scrapy.Spider):

name = 'myspider'

start_urls = ['http://scrapinghub.com']

def parse(self, response):

self.logger.info('Parse function called on %s', response.url)

That logger is created using the Spider’s name, but you can use any custom Python logger you want. For example:

import logging import scrapy

logger = logging.getLogger('mycustomlogger')

class MySpider(scrapy.Spider):

name = 'myspider'

start_urls = ['http://scrapinghub.com']

def parse(self, response):

logger.info('Parse function called on %s', response.url)


在settings.py中配置

These settings can be used to configure the logging:

• LOG_FILE

• LOG_ENABLED

• LOG_ENCODING

• LOG_LEVEL

• LOG_FORMAT

• LOG_DATEFORMAT

• LOG_STDOUT

可参考https://www.cnblogs.com/sufei-duoduo/p/5880988.html,https://doc.scrapy.org/en/0.12/topics/logging.html,https://www.cnblogs.com/similarface/p/5179193.html

scrapy 中日志的使用的更多相关文章

  1. [转]scrapy中的logging

    logging模块是Python提供的自己的程序日志记录模块. 在大型软件使用过程中,出现的错误有时候很难进行重现,因此需要通过分析日志来确认错误位置,这也是写程序时要使用日志的最重要的原因. scr ...

  2. scrapy之日志等级

    scrapy之日志等级 在settings.py中配置如下项: LOG_LEVEL = 'ERROR' # 当LOG_LEVEL设置为ERROR时,在进行日志打印时,只是打印ERROR级别的日志 这样 ...

  3. 如何优雅的在scrapy中使用selenium —— 在scrapy中实现浏览器池

    1 使用 scrapy 做采集实在是爽,但是遇到网站反爬措施做的比较好的就让人头大了.除了硬着头皮上以外,还可以使用爬虫利器 selenium,selenium 因其良好的模拟能力成为爬虫爱(cai) ...

  4. 利用log4j+mongodb实现分布式系统中日志统一管理

    背景     在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数 ...

  5. 再谈SQL Server中日志的的作用

    简介     之前我已经写了一个关于SQL Server日志的简单系列文章.本篇文章会进一步挖掘日志背后的一些概念,原理以及作用.如果您没有看过我之前的文章,请参阅:     浅谈SQL Server ...

  6. LR中日志设置和日志函数

    LR中日志参数的设置与使用 1.Run-Time Setting日志参数的设置 在loadrunner的vuser菜单下的Run-Time Setting的General的LOG选项中可以对在执行脚本 ...

  7. Android中日志信息的打印方式

    Android中日志信息的打印方式主要有以下7种: 1)System.out(i级别) 2)System.err(w级别) 3)Log.v 4)Log.d 5)Log.i 6)Log.w 7)Log. ...

  8. SQL Server中日志

    再谈SQL Server中日志的的作用 简介 之前我已经写了一个关于SQL Server日志的简单系列文章.本篇文章会进一步挖掘日志背后的一些概念,原理以及作用.如果您没有看过我之前的文章,请参阅: ...

  9. Scrapy中使用Django的Model访问数据库

    Scrapy中使用Django的Model进行数据库访问 当已存在Django项目的时候,直接引入Django的Model来使用比较简单 # 使用以下语句添加Django项目的目录到path impo ...

随机推荐

  1. Servlet--ServletConfig接口,GenericServlet类

    ServletConfig接口 定义:public interface ServletConfig 这个接口定义了一个对象, 通过这个对象, Servlet 引擎配置一个 Servlet 并且允许 S ...

  2. linkin大话数据结构--泛型

    泛型(Generic) 什么是泛型? java5开始出现的一种对Java语言类型的一种拓展,以支持创建可以按类型进行参数化的类.可以把类型参数看作是使用参数类型时指定的类型占位符,就好比方法的形式参数 ...

  3. MySQL中查询表及索引大小的方法

    查询MySQL表的大小及索引大小可以通过系统库information_schema中的TABLES表来实现. 该表常用的一些字段: TABLE_SCHEMA:数据库名TABLE_NAME:表名ENGI ...

  4. Linux面试题(1)

    一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来 ...

  5. Spring学习一

    1.POJO和JavaBean的区别 POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Jav ...

  6. 安装 cgilib 0.5

    下载软件包下载链接:http://pan.baidu.com/s/1gdzOiVT 解包tar zxvf cgilib-0.5.tar.gzcd cgilib-0.5 makecp libcgi.a ...

  7. 安装PHP的mongodb驱动速记

    安装环境:Centos 6.5   PHP 5.3.27 这里PHP已经安装,安装路径为: /usr/local/php/ 下载安装文件: http://pan.baidu.com/s/1pJ0Spi ...

  8. HttpURLConnection用法

    在SDK中的URLConnection链接Servlet的问题 1.URL的请求分类GET和POST GET请求可以获取页面静态的值,参数放URL后,传给Serverlct POST的参数是存放于ht ...

  9. ABP官方文档翻译 8.1 通知系统

    通知系统 介绍 发送模型 通知类型 通知数据 通知严重性 关于通知持久化 订阅通知 发布通知 用户通知管理 实时通知 客户端 通知存储 通知定义 介绍 在系统中通知用来基于特定的事件告知用户.ABP提 ...

  10. web项目,ftl文件中的路径引入问题

    路径问题的引入方式:绝对路径.相对路径 区别如图: =================================================