2009-11-02 11 views
28

Używam biblioteki Boto do komunikowania się z AWS. Chcę wyłączyć rejestrowanie. (Lub przekieruj do/dev/null lub innego pliku). Nie mogę znaleźć oczywistego sposobu, aby to zrobić. Próbowałem tego, ale to nie pomaga.Wyłącz rejestrowanie boto bez modyfikowania plików boto

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

Ten mówi, że jest to możliwe, ale AFAIK http://developer.amazonwebservices.com/connect/thread.jspa?messageID=52727&#52727 dokumentacja robi powiedzieć jak.

Odpowiedz

57

można spróbować

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

które będą tłumić wszystko (inne niż krytyczna) błędów.

Boto używa plików konfiguracji rejestrowania (np. /etc/boto.cfg, ~/.boto), więc sprawdź, czy możesz skonfigurować to do swoich potrzeb w ten sposób.

Wywołanie po prostu dodaje plik zdefiniowany przez użytkownika do konfiguracji rejestrowania, więc nie można go użyć do wyłączenia wylogowania.

+0

Dzięki Vinay, że działa! – rocketmonkeys

+0

Dzięki za to. Z jakiegoś powodu nie mogę uzyskać plików boto config, aby wyłączyć rejestrowanie. http://code.google.com/p/boto/issues/detail?id=476 – michela

+0

W ustawieniach django wygląda to tak: '' LOGGING ['loggers']. update ({ 'boto': { "poziom": "CRITICAL", } }) '' ' – dashesy

4

Jeszcze lepiej, wyłącz propagate dla boto:

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

Nie jestem pewien, czy jest to nowa funkcja, ale powinna to być obecnie akceptowana odpowiedź. – kadrach