我在后台調試 在后台調試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
