Scrapy - одновременное ведение журнала в файл и стандартный вывод, с именами пауков

Я решил использовать модуль ведения журнала Python, потому что сообщения, сгенерированные Twisted при ошибке std, слишком длинные, и я хочу, чтобы INFO выровняли значимые сообщения, такие как те, которые сгенерированы StatsCollector , должны быть записаны в отдельный файл журнала с сохранением экранных сообщений.

 from twisted.python import log
     import logging
     logging.basicConfig(level=logging.INFO, filemode='w', filename='buyerlog.txt')
     observer = log.PythonLoggingObserver()
     observer.start()

Что ж, это нормально, у меня есть свои сообщения, но обратная сторона медали в том, что я не знаю, какой паук генерирует сообщения! Это мой файл журнала, в котором "скрученный" отображается % (name) s :

 INFO:twisted:Log opened.
  2 INFO:twisted:Scrapy 0.12.0.2543 started (bot: property)
  3 INFO:twisted:scrapy.telnet.TelnetConsole starting on 6023
  4 INFO:twisted:scrapy.webservice.WebService starting on 6080
  5 INFO:twisted:Spider opened
  6 INFO:twisted:Spider opened
  7 INFO:twisted:Received SIGINT, shutting down gracefully. Send again to force unclean shutdown
  8 INFO:twisted:Closing spider (shutdown)
  9 INFO:twisted:Closing spider (shutdown)
 10 INFO:twisted:Dumping spider stats:
 11 {'downloader/exception_count': 3,
 12  'downloader/exception_type_count/scrapy.exceptions.IgnoreRequest': 3,
 13  'downloader/request_bytes': 9973,

По сравнению с сообщениями, сгенерированными из-за искажения при стандартной ошибке:

2011-12-16 17:34:56+0800 [expats] DEBUG: number of rules: 4
2011-12-16 17:34:56+0800 [scrapy] DEBUG: Telnet console listening on 0.0.0.0:6023
2011-12-16 17:34:56+0800 [scrapy] DEBUG: Web service listening on 0.0.0.0:6080
2011-12-16 17:34:56+0800 [iproperty] INFO: Spider opened
2011-12-16 17:34:56+0800 [iproperty] DEBUG: Redirecting (301) to <GET http://www.iproperty.com.sg/> from <GET http://iproperty.com.sg>
2011-12-16 17:34:57+0800 [iproperty] DEBUG: Crawled (200) <

Я пробовал% (name ) s,% (module) s среди других, но я, похоже, не могу показать имя паука. Кто-нибудь знает ответ?

РЕДАКТИРОВАТЬ: проблема с использованием LOG_FILE и LOG_LEVEL в настройках заключается в том, что сообщения нижнего уровня не будут отображаться при стандартной ошибке.

17
задан Acorn 16 December 2011 в 11:07
поделиться