Deshabilitar el registro de boto sin modificar los archivos de boto

Estoy usando la biblioteca de Boto para hablar con AWS. Quiero deshabilitar el registro. (O redirigir a / dev / null u otro archivo). No puedo encontrar una manera obvia de hacer esto. Intenté esto, pero eso no parece ayudar.

import boto boto.set_file_logger('boto', 'logs/boto.log') 

Esto dice que es posible, http://developer.amazonwebservices.com/connect/thread.jspa?messageID=52727&#52727 pero AFAIK la documentación no dice cómo.

Tu podrías intentar

 import logging logging.getLogger('boto').setLevel(logging.CRITICAL) 

lo que suprimirá todos los errores (excepto los CRÍTICOS).

Boto utiliza los archivos de configuración de registro (por ejemplo, /etc/boto.cfg , ~/.boto ) para ver si puede configurarlo según sus necesidades de esa manera.

La llamada a set_file_logger simplemente agrega un archivo definido por el usuario a la configuración de registro, por lo que no puede usarlo para desactivar el cierre de sesión.

Muevo la respuesta de boto3 de los comentarios (a saber, charneykaye y gene_wood) a una respuesta correcta:

 import logging logger = logging.getLogger() logger.addHandler(logging.StreamHandler()) # Writes to console logger.setLevel(logging.DEBUG) logging.getLogger('boto3').setLevel(logging.CRITICAL) logging.getLogger('botocore').setLevel(logging.CRITICAL) logging.getLogger('s3transfer').setLevel(logging.CRITICAL) logging.getLogger('urllib3').setLevel(logging.CRITICAL) import boto3 s3 = boto3.resource('s3') for bucket in s3.buckets.all(): print(bucket.name) 

Para obtener todos los registradores siga la respuesta de los leobarcellos :

 import logging loggers_dict = logging.Logger.manager.loggerDict 

Mejor aún, desactive la propagate para boto:

 import boto boto.set_file_logger('boto', 'logs/boto.log') logging.getLogger('boto').propagate = False