爲了在控制檯規範的打印python
import logging # 日誌配置 logging.basicConfig(level=logging.INFO, format='[%(asctime)s] - %(levelname)s in %(filename)s: %(message)s') # 獲取日誌器 logger = logging.getLogger(__name__)
寫入文件的日誌配置。scrapy
寫入文件,而且能夠規定最大大小,自動滾動刪除日誌。debug
from logging.handlers import RotatingFileHandler import logging # Handler類,旋轉文件日誌,日誌文件名,100MB,10個文件滾動 handler = RotatingFileHandler(filename='logs.log', maxBytes=100 * 1024 * 1024, backupCount=10) # Formatter類 formatter = logging.Formatter('[%(asctime)s] - %(levelname)s in %(filename)s: %(message)s') handler.setFormatter(formatter) # 添加格式化實例 # 獲取日誌器 logger = logging.getLogger(__name__) logger.addHandler(handler) logger.setLevel(logging.INFO) # 設置告警等級
能夠同時寫文件也在控制檯打印,主要是看選擇哪些handler。日誌
console = logging.StreamHandler() logger.addHandler(console) # 額外添加一個handler
import logging from scrapy.utils.log import configure_logging configure_logging(install_root_handler=False) logging.basicConfig( filename='scrapy_log.txt', format='%(levelname)s: %(message)s', level=logging.INFO )
等級依次增高code
logging.debug('debug message') logging.info('info message') logging.warn('warn message') logging.error('error message') logging.critical('critical message')