python - parser - scrapy tutorial
Cómo desactivar el inicio de sesión en Scrapy(Python) (3)
He creado una araña usando Scrapy, pero no puedo averiguar cómo desactivar el registro predeterminado. De la documentación parece que debería ser capaz de desactivarlo haciendo
logging.basicConfig(level=logging.ERROR)
Pero esto no tiene efecto. Al mirar el código de logging.basicConfig (), supongo que esto se debe a que "el registrador de raíz tiene controladores configurados", pero quizás estoy equivocado al respecto. En cualquier caso, ¿alguien puede explicar lo que tengo que hacer para que Scrapy no produzca el habitual
2015-10-18 17:42:00 [scrapy] INFO: Scrapy 1.0.3 started (bot: EF)
2015-10-18 17:42:00 [scrapy] INFO: Scrapy 1.0.3 started (bot: EF)
2015-10-18 17:42:00 [scrapy] INFO: Optional features available: ssl, http11, boto
2015-10-18 17:42:00 [scrapy] INFO: Optional features available: ssl, http11, boto
¿etc.?
EDITAR: Según lo sugerido por sirfz a continuación, la línea
logging.getLogger(''scrapy'').setLevel(logging.WARNING)
se puede usar para establecer el nivel de registro. Sin embargo, parece que debes hacer esto en el método init (o posterior) en tu araña.
logging.basicConfig (** kwargs)
Esta función no hace nada si el registrador de raíz ya tiene controladores configurados para él.
Scrapy tiene controladores configurados para eso, así que esto no funcionará
Puede agregar -s LOG_ENABLED=False
como parámetro al iniciar su secuencia de comandos. Eso debería hacer el truco.
Nota : para la versión 1.1 se modificó un poco: -s LOG_ENABLED=0
Simplemente puede cambiar el nivel de registro para scrapy (o cualquier otro registrador):
logging.getLogger(''scrapy'').setLevel(logging.WARNING)
Esto desactiva todos los mensajes de registro inferiores al nivel de WARNING
.
Para deshabilitar todos los mensajes de registro de scrapy, puede configurar propagate
a False
:
logging.getLogger(''scrapy'').propagate = False
Esto evita que los mensajes de registro de scrapy se propaguen al registrador de raíz (que se imprime en la consola cuando se configura con basicConfig()
)