scrapy框架log日誌設置

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章