2009-11-02 4 views
28

J'utilise la bibliothèque Boto pour parler à AWS. Je veux désactiver la journalisation (Ou rediriger vers/dev/null ou un autre fichier). Je ne peux pas trouver un moyen évident de le faire. J'ai essayé cela, mais cela ne semble pas aider.Désactiver la journalisation boto sans modifier les fichiers boto

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

Ceci indique qu'il est possible, mais http://developer.amazonwebservices.com/connect/thread.jspa?messageID=52727&#52727 AFAIK la documentation ne marche pas dire comment.

Répondre

57

Vous pouvez essayer

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

qui supprimera toutes les erreurs (autres que CRITIQUES).

Boto utilise des fichiers de configuration de journalisation (par exemple, /etc/boto.cfg, ~/.boto), vérifiez si vous pouvez le configurer de cette façon.

L'appel set_file_logger ajoute simplement un fichier défini par l'utilisateur à la configuration de la journalisation, vous ne pouvez donc pas l'utiliser pour désactiver la journalisation.

+0

Merci Vinay, qui a fonctionné! – rocketmonkeys

+0

Merci pour ça. Pour une raison quelconque, je ne peux pas obtenir les fichiers de configuration boto pour désactiver la journalisation. http://code.google.com/p/boto/issues/detail?id=476 – michela

+0

Dans le paramètre django, cela ressemble à ceci: '' 'LOGGING ['loggers']. update ({ 'boto': { 'level': 'CRITICAL', } }) '' ' – dashesy

4

Mieux encore, désactiver propagate pour Boto:

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

Je ne suis pas sûr si c'est une nouvelle fonctionnalité, mais cela devrait être la réponse acceptée de nos jours. – kadrach

Questions connexes