Scrapy 教程(九)-日志系统
最新版本的 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 教程(九)-日志系统的更多相关文章
- ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程
ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...
- Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐
http://blog.csdn.net/lc0817/article/details/53266212/ https://github.com/leoChaoGlut/log-sys 上面是我基于S ...
- cocos creator主程入门教程(五)—— 日志系统
五邑隐侠,本名关健昌,10年游戏生涯,现隐居五邑.本系列文章以TypeScript为介绍语言. 这一篇介绍日志系统的设计.一般我们开发一个demo,只会简单的用cocos提供的cc.log打印下日志, ...
- Scrapy教程
Scrapy教程 原文地址https://doc.scrapy.org/en/latest/intro/tutorial.html 此教程我们假设你已经装好了Scrapy,如果没有请查看安装指南.. ...
- 无废话ExtJs 入门教程九[数字字段:NumberField、隐藏字段Hidden、日期字段:DataFiedl]
无废话ExtJs 入门教程九[数字字段:NumberField.隐藏字段Hidden.日期字段:DataFiedl] extjs技术交流,欢迎加群(201926085) 继上第六节内容,我们在表单里加 ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(九) Policy Injection Application Block 代理对象(Proxy Object) ...
- MySQL日志系统
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- 使用 SLF4J + LogBack 构建日志系统(转)
转载自:http://www.cnblogs.com/mailingfeng/p/3499436.html 上次我们讨论了如何选择一个好的开源日志系统方案,其中的结论是:使用 SLF4J + LogB ...
- nxlog4go 简介 - 基于log4go的下一代go语言日志系统
nxlog4go的项目网址: https://github.com/ccpaging/nxlog4go 项目历史 ccpaging's log4go forked from https://githu ...
随机推荐
- postman+newman+jenkins 接口自动化
一:Jenkins安装: jenkins是一款跨平台的持续集成和持续交付.基于Java开发的开源软件,提供任务构建.持续集成监控的功能,可以使开发测试人员更方便的构建软件项目, 我安装是安装程序模式, ...
- Codeforces 912D Fishs ( 贪心 && 概率期望 && 优先队列 )
题意 : 给出一个 N * M 的网格,然后给你 K 条鱼给你放置,现有规格为 r * r 的渔网,问你如果渔网随意放置去捕捞小鱼的情况下,捕到的最大期望值是多少? 分析 : 有一个很直观的想法就是 ...
- B. Array K-Coloring
B. Array K-Coloring 给定一个数组 要求对元素进行染色,满足相同元素颜色一定不同,且所有颜色要全部用完 #include<bits/stdc++.h> using nam ...
- D. Restore Permutation
D. Restore Permutation 就是给一个n个数的全排,然后bi记录比ai小且在排在ai前面的数的和,求ai 树状数组维护,二分 #include<bits/stdc++.h> ...
- druid监控每个服务数据库连接数和SQL执行效率
1.下载druid 2.将刚刚下载的druid放入tomcat下的lib目录 3.配置要监控的服务启动文件,添加: -Dcom.sun.management.jmxremote.port=4090 - ...
- [BZOJ4010]:[HNOI2015]菜肴制作(拓扑排序)
题目传送门 题目描述 知名美食家小A被邀请至ATM大酒店,为其品评菜肴. ATM酒店为小A准备了N道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1.由于菜肴之间 ...
- spring cloud:HystrixDashboard
hystrix-dashboard-server 1. File-->new spring starter project 2.add dependency <parent> < ...
- Latex常用公式整理
目录 常用 常用数学公式 常用希腊字母 说明:博客园中的Latex编辑是以$ latex公式 $,为边界. 1.常用 描述 Latex公式 表达式 下标 x_2 x2 上标 x^2 x2 分数 \f ...
- python - 标准库:subprocess模块
subprocess的目的就是启动一个新的进程并且与之通信. subprocess模块中只定义了一个类: Popen. subprocess.Popen(args, bufsize=0, execut ...
- Python基本语法_变量作用域LEGB
目录 目录 软件系统 变量的作用域 高级语言对数据类型的使用过程 作用域的产生 作用域的类型 Llocal局部作用域 Eenclosing嵌套作用域 Gglobal全局作用域 Bbuilt-in内置作 ...