Dla mojego pierwszego doświadczenia z logowaniem w Pythonie (2.7) tworzę podstawowy moduł rejestrowania, który szybko utworzy rejestrator dla (więc nie będę musiał go konfigurować na moduł /klasa).Rejestrowanie w języku Python: wyświetlanie tylko informacji z poziomu debugowania
Co chcę zrobić, to stworzyć program rejestrujący, który wyświetla wszystkie komunikaty o poziomie INFO i wyższym na konsoli i przenosi wszystkie informacje o poziomie DEBUG do pliku tekstowego.
Do tej pory utworzyłem program rejestrujący, który drukuje INFO i do konsoli, i który drukuje wszystkie komunikaty dziennika do pliku tekstowego. Jednak nie chcę wszystkich wiadomości INFO i wyższych w moim pliku tekstowym.
Zrobiłem Python Fiddle, który przechowuje mój kod.
użyłem następujące komunikaty debugowania z samouczka:
log.debug('All systems operational')
log.info('Airspeed 300 knots')
log.warn('Low on fuel')
log.error('No fuel. Trying to glide.')
log.critical('Glide attempt failed. About to crash.')
który z produktów konsoli:
[INFO] root: Airspeed 300 knots
[WARNING] root: Low on fuel
[ERROR] root: No fuel. Trying to glide.
[CRITICAL] root: Glide attempt failed. About to crash.
aw moim pliku debug_log.txt:
2013-06-14 14:51:46,963:DEBUG:root:All systems operational
2013-06-14 14:51:46,964:INFO:root:Airspeed 300 knots
2013-06-14 14:51:46,964:WARNING:root:Low on fuel
2013-06-14 14:51:46,964:ERROR:root:No fuel. Trying to glide.
2013-06-14 14:51:46,964:CRITICAL:root:Glide attempt failed. About to crash.
W powyższy blok, te ostatnie cztery linie nie powinny znajdować się w pliku. Czy to, co próbuję zrobić, jest możliwe i jak uzyskać pożądany rezultat?
Tutaj właśnie napisałem :-) – zmo
Dziękuję, muszę sprawdzić, jaki kod działa dokładnie, ale dzięki tym informacjom się tam dostanę. :) –
Dla przyszłych referencji, myślę, że miło jest zwrócić uwagę na następujące: Powyższy kod działa głównie. Na końcu klasy brakuje niektórych dwukropków, ale są one łatwe do wykrycia. Jeśli zastąpisz wiersz 'if record.level! = DEBUG:' z 'if not record.levelno == DEBUG:', wszystkie logi inne niż DEBUG są ładnie odfiltrowane. –