Scrapy提供5层logging级别:
1. CRITICAL - 严重错误
2. ERROR - 一般错误
3. WARNING - 警告信息
4. INFO - 一般信息
5. DEBUG - 调试信息
logging设置
通过在setting.py中进行以下设置可以被用来配置logging
以下配置均未默认值
# 是否启用日志
LOG_ENABLED=True
# 日志使用的编码
LOG_ENCODING='utf-8'
# 日志文件(文件名)
LOG_FILE=None
# 日志格式
LOG_FORMAT='%(asctime)s [%(name)s] %(levelname)s: %(message)s'
# 日志时间格式
LOG_DATEFORMAT='%Y-%m-%d %H:%M:%S'
# 日志级别 CRITICAL, ERROR, WARNING, INFO, DEBUG
LOG_LEVEL='DEBUG'
# 如果等于True,所有的标准输出(包括错误)都会重定向到日志,例如:print('hello')
LOG_STDOUT=False
# 如果等于True,日志仅仅包含根路径,False显示日志输出组件
LOG_SHORT_NAMES=False
配置示例
# setting.py
from datetime import datetime
# 文件及路径,log目录需要先建好
today = datetime.now()
log_file_path = "log/scrapy_{}_{}_{}.log".format(today.year, today.month, today.day)
# 日志输出
LOG_LEVEL = 'DEBUG'
LOG_FILE = log_file_path
使用
import logging
logger = logging.getLogger(__name__)
logger.warning("This is a warning")
或者
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['https://scrapinghub.com']
def parse(self, response):
self.logger.info('Parse function called on %s', response.url)