Znalazłem this odpowiedź na pozornie podobny problem, jednak (ponieważ jestem nowicjuszem w Pythonie) nie jestem pewien, jak wdrożyć to rozwiązanie w moim kodzie (jeśli jest to ten sam problem po wszystko).Wiadomości rejestrowania pojawiają się dwa razy w konsoli Python
W moim kodu mam następujący punkt:
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
filename='C:\\Tests\\TRACE.log',
filemode='a')
console = logging.StreamHandler()
console.setLevel(logging.INFO)
consoleFormatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(consoleFormatter)
logging.getLogger('').addHandler(console)
localLog = logging.getLogger('text')
Najśmieszniejsze jest to, że pracował w porządku, ale w pewnym momencie zaczęło się pisanie tych duplikatów wiadomości do konsoli.
Czy ktoś może podać mi kierunek tutaj, proszę?
Cześć i dzięki za odpowiedź, ale w jaki sposób mogę skomentować wszystkie ' logowanieBasicConfig'? Zawiera obowiązkowe ustawienia jako ścieżkę, format i kod pliku ... –
Odczytując pytanie, wydaje się, że problem polega na tym, że otrzymujesz zduplikowane komunikaty dziennika w konsoli i że rejestrowanie plików nie jest problemem. Podejrzewam, że basicConfig konfiguruje program obsługi dziennika konsoli, a następnie konfigurujesz drugi moduł obsługi dziennika konsoli. Zdecydowanie zaleca przeniesienie konfiguracji rejestrowania do pliku konfiguracyjnego, w którym można bardziej szczegółowo określić konkretną konfigurację. – robjohncox
Warto zwrócić uwagę na to, że logowanie do pliku, konsoli lub dowolnego innego miejsca docelowego nie jest obowiązkowe - rejestrowanie to po prostu sposób kierowania wiadomości do użytecznego miejsca, w którym można je wyświetlać lub przechowywać. Istnieje wiele różnych miejsc, w których możesz chcieć wyślij je (plik i konsola to dwie bardzo typowe opcje). Zdecydowanie zaleca się pracę przy pomocy [zaawansowanego samouczka rejestrowania] (http://docs.python.org/2/howto/logging.html#advanced-logging-tutorial) w dokumentacji Pythona, aby uzyskać solidne wprowadzenie do sposobu działania rejestrowania. – robjohncox