Scrapy — одновременная запись в файл и стандартный вывод с именами пауковPython

Программы на Python
Ответить
Anonymous
 Scrapy — одновременная запись в файл и стандартный вывод с именами пауков

Сообщение Anonymous »

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

Код: Выделить всё

 from twisted.python import log
import logging
logging.basicConfig(level=logging.INFO, filemode='w', filename='buyerlog.txt')
observer = log.PythonLoggingObserver()
observer.start()
Ну, это нормально, сообщения у меня есть, но недостатком является то, что я не знаю, какой паук генерирует сообщения! Это мой файл журнала, в котором "twisted" отображается %(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  from 
2011-12-16 17:34:57+0800 [iproperty] DEBUG: Crawled (200) <
Я пробовал %(name)s, %(module)s среди других, но, похоже, я не могу показать имя паука. Кто-нибудь знает ответ?

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

Подробнее здесь: https://stackoverflow.com/questions/853 ... ider-names
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»