Добавьте имя паука в каждую строку журнала.Python

Программы на Python
Ответить
Anonymous
 Добавьте имя паука в каждую строку журнала.

Сообщение Anonymous »

Я ищу способ добавлять к каждому журналу, созданному Scrapy, имя паука, который его сгенерировал. До сих пор я запускал каждого паука синхронно в цикле, поэтому было легко отслеживать, какой паук какой лог генерирует. Но недавно я провел рефакторинг своего кода, чтобы либо принимать список пауков в качестве аргумента, либо запускать их всех одновременно с помощью функции CrawlerProcess(). В результате они запускаются асинхронно, поэтому все журналы перепутаны.
Я подумал о том, чтобы добавить что-то вроде [%(name)] в настройку LOG_FORMAT, но созданное имя - это имя модуля, который его вызвал (scrapy.core.engine, Scrapy.utils.log и т. д.), а не имя паука.
Я также пытался создать расширение, которое изменит настройки сканера, получение Spider.name и добавление его в константу LOG_FORMAT, но, насколько мне известно, изменение настроек во время работы сканера не имеет никакого эффекта (и я не нашел чистого способа сделать это, поскольку они неизменяемы).
Любая помощь будет принята с благодарностью! Спасибо
  • Я попробовал установить собственный LOG_FORMAT, но, похоже, нет никакого способа получить доступ к имени паука;
    < li>Я пытался использовать расширение, чтобы перехватить настройки сканера и изменить их, но они неизменяемы и оцениваются только в начале процесса ;


Подробнее здесь: https://stackoverflow.com/questions/751 ... ine-of-log
Ответить

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

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

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

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

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