Python ma wbudowany moduł o nazwie Logowanie Aby uzyskać informacje o dzienniku dla dowolnej aplikacji Python. Jest to bardzo przydatny moduł dla nowicjusza lub doświadczonego programisty Pythona do wydrukowania komunikatu statusu do strumienia wyjściowego lub pliku. Większość bibliotek Python stron trzecich używa tego modułu do generowania informacji dziennika dla aplikacji Python. Jak możesz użyć tego modułu, jest pokazany w tym artykule za pomocą 25 prostych przykładów rejestrowania Pythona.
Lista przykładów rejestrowania:
getLogger () Funkcja służy do utworzenia obiektu loggera. Tę funkcję można wywołać z nazwą loggera lub bez nazwy loggera. Domyślna nazwa logowania to źródło. W poniższym przykładzie obiekt logger jest tworzony z nazwą loggera i bez nazwy loggera za pomocą za pomocą getLogger (). Tutaj zostaną wydrukowane trzy wiadomości ostrzegawcze. Korzeń wydrukuje jako nazwa rejestrowania pierwszego i drugiego komunikatu ostrzegawczego. Trzeci komunikat ostrzegawczy zostanie wydrukowany z nazwą loggera przypisaną w funkcji getLogger ().
Przykład 1.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład 1.pyWyjście:
Domyślna nazwa logowania to „root”, a gdy obiekt logger jest tworzony bez żadnej nazwy, nazywany jest również „root”. Tak więc następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Używając BasicConfig ()
BasicConfig () Funkcja służy do konfigurowania opcji rejestrowania logera głównego. Różne typy podstawowej konfiguracji mogą być wykonane przez tę funkcję. format, poziom, nazwa pliku, itp. są najczęściej używanymi argumentami tej funkcji. format służy do sformatowania danych wyjściowych komunikatu dziennika. poziom służy do ustawienia poziomu rejestrowania. Nazwa pliku służy do wysyłania wyjścia komunikatu dziennika do pliku, a nie konsoli. Zastosowania format I poziom Argumenty pokazano w poniższym przykładzie.
Przykład2.py
#Importing ModuleUruchom skrypt z terminalu.
$ Python Przykład 2.pyWyjście:
Tutaj wiadomość jest ustawiony w format argument i rejestrowanie poziom jest ustawione na ODPLUSKWIĆ. Poniższy komunikat debugowania zostanie wydrukowany jako wyjście po uruchomieniu skryptu.
Idź na szczyt
Za pomocą setlevel ()
setlevel () Funkcja służy do ustawienia poziomu rejestrowania. Ta funkcja może ustawić sześć poziomów. To są Debug (10), info (20), ostrzeżenie (30), błąd (40), krytyczny (50) I Notset (0). Poziom domyślny jest ustawiony na NOTSET, gdy utworzony jest dowolny obiekt logger, a komunikaty są przetwarzane na podstawie logger root, jeśli nie jest zdefiniowana nazwa logowania. Domyślnie logger root przetwarza komunikaty o ostrzeżeniu, błędach i poziomie krytycznym. Jak możesz zmienić bieżący poziom rejestratora za pomocą setlevel () Funkcja pokazano w poniższym przykładzie. Tutaj wiadomości debugowania i ostrzegawcze są drukowane przed i po ustawieniu poziomu dziennika w skrypcie.
Przykład3.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład3.pyWyjście:
Pierwsza wiadomość debugowania skryptu nie zostanie wydrukowana dla domyślnego poziomu rejestratora, a druga wiadomość debugowa wydrukowana do ustawiania poziomu logowania do debugowania. Pojawi się następujące dane wyjściowe
Po uruchomieniu skryptu.
Idź na szczyt
Używanie geteffectivelevel ()
geteffectivelevel () Funkcja służy do pobierania bieżącej wartości poziomu dziennika. Jeśli bieżący poziom dziennika jest ustawiony na NOTSESE, obiekt logger będzie przeszukiwać poziom dziennika logaru głównego. Jeśli nic nie znaleziono dla logera root, wartość poziomu dziennika Notset zostanie zwrócona. Jak możesz użyć geteffectivelevel () Aby odczytać bieżący poziom dziennika, pokazano w poniższym przykładzie. Tutaj ta funkcja jest wywoływana przed i po ustawieniu poziomu dziennika.
Przykład4.py
#Importing ModuleUruchom skrypt z terminalu.
$ Python Przykład4.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Dane wyjściowe pokazuje, że domyślny poziom dziennika jest ostrzeżenie (30), a poziom dziennika jest debugowany (10) po ustawieniu poziomu.
Idź na szczyt
Używając isenabledfor ()
isenabledfor () Funkcja służy do sprawdzania dowolnego poziomu dziennika jest obecnie włączona lub wyłączona. Poniższy przykład najpierw sprawdzi poziom informacyjny jest włączony lub nie. Informacje i poziomy debugowania nie są domyślnie włączone. Więc wyjście isenablefor () Funkcja będzie fałszywa. Następnie poziom dziennika jest ustawiony na informacje i isenabledfor () zwróci prawdziwe dla ostatniego stwierdzenia.
Przykład5.py
#Importing ModuleUruchom skrypt z terminalu.
$ Python Przykład 5.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Za pomocą Debug ()
odpluskwić() Funkcja służy do drukowania informacji szczegółowych po zdiagnozowaniu problemów z skryptu. Wartość liczbowa ODPLUSKWIĆ Poziom to 10 i musisz ustalić ten poziom do tworzenia odpluskwić() funkcja aktywna. Użycie tej funkcji jest wyświetlane przez prosty skrypt w poniższym przykładzie. Tutaj poziom dziennika ma debugować, aby wydrukować wiadomość debugowania. Funkcja check_even () jest zdefiniowana, aby sprawdzić, czy numer wejściowy jest parzyste lub nieparzyste. Jeśli numer nie jest nawet, funkcja wyda wiadomość debugowania, w przeciwnym razie brak.
Przykład6.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład6.pyWyjście:
Skrypt jest wykonywany dla czasów z liczbą parzystą liczbą nieparzystą. Gdy 55 jest traktowane jako dane wejściowe, drukuje komunikat debugowania, a gdy 12 jest traktowane jako dane wejściowe, nie jest przekazywana wiadomość.
Idź na szczyt
Za pomocą informacji ()
informacje () Funkcja służy do dostarczania użytkownikowi udanej lub ogólnej wiadomości w celu potwierdzenia, że kod działa poprawnie. Wartość liczbowa Informacje Poziom wynosi 20 i musisz ustawić ten poziom przed użyciem informacje () funkcjonować. Zastosowanie tej funkcji pokazano w poniższym przykładzie. Tutaj dwie wartości liczbowe są przypisane do dwóch zmiennych X I y. Funkcja niestandardowa 'dodatek„jest zadeklarowane do obliczenia suma X I y. informacje () Funkcja służy do wywołania funkcji i wyniku podsumowania drukowania.
Przykład7.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład7.pyWyjście:
Tutaj nie jest tworzony obiekt logger. Zatem domyślnym rejestratorem jest root, a suma x i y wynosi 50. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Za pomocą ostrzeżenia ()
ostrzeżenie() Funkcja jest używana, gdy pojawia się nieoczekiwany problem lub ostrzec użytkownika przed przyszłym problemem. Wartość liczbowa poziomu ostrzegawczego wynosi 30. Funkcja ostrzegawcza () działa dla domyślnego rejestratora. Zastosowanie tej funkcji pokazano w poniższym przykładzie. Tutaj poziom dziennika jest ustawiony na ostrzeżenie na początku skryptu. Ten skrypt obliczy obszar okręgu na podstawie wartości promienia przyjęcia. Jeśli wartość promienia wynosi zero, wówczas komunikat ostrzegawczy wydrukuje, w przeciwnym razie obszar koła będzie wydrukować.
Przykład8.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład 8.pyWyjście:
Skrypt jest wykonywany dwa razy w wyjściu z wartościami promienia, 0 i 4. Komunikat ostrzegawczy jest drukowany, gdy wartość promienia wynosi 0, a wartość powierzchni jest drukowana, gdy promień wynosi 4.
Idź na szczyt
Za pomocą błędu ()
błąd() funkcja jest używana, gdy w skrypcie istnieje jakikolwiek poważny problem. Numerowy poziom błędu wynosi 40. błąd() Funkcja działa dla domyślnego logera. Poniższy przykład pokazuje użycie błąd() funkcjonować. Funkcją skryptu jest przyjęcie istniejącej nazwy pliku jako wejścia i wydrukowanie zawartości pliku. OS.ścieżka Moduł służy do odczytu dowolnego pliku w Python. Tak więc ten moduł jest pierwszy importowany. Tutaj, jeśli nazwa pliku, która przyjmie jako wejście, nie istnieje w systemie, komunikat o błędzie zostanie wydrukowany w przeciwnym razie zawartość pliku zostanie wydrukowana.
Przykład 9.py
#import OS.Moduł ścieżkiUruchom skrypt z terminalu.
$ Python Przykład 9.pyWyjście:
Skrypt jest wykonywany dwa razy w następującym wyniku. Po raz pierwszy nazwa pliku, która jest podana jako wejścia, nie istnieje w systemie, a komunikat o błędzie jest wydrukowany. Po raz drugi nazwa pliku, która jest przyjmowana jako wejście w systemie, a treść pliku jest drukowana.
Idź na szczyt
Używanie krytycznego ()
Funkcja krytyczna () jest również używana do wskazania poważnego problemu, który może powstrzymać wykonywanie skryptu. Poziom dziennika krytycznego wynosi 50. krytyczny() Funkcja działa dla domyślnego logera. Zastosowanie tej funkcji pokazano w poniższym przykładzie. Tutaj dwie wartości wejściowe zostaną pobrane od użytkownika jako dywidenda i dzielnik. Jeśli wartość dzielnicy wynosi 0, wystąpi błąd krytyczny i zostanie wydrukowany komunikat krytyczny.
przykład10.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład10.pyWyjście:
Skrypt jest wykonywany dwa razy w następującym wyniku. Gdy 78 i 0 są przyjmowane jako dane wejściowe, wówczas wydrukowany jest krytyczny komunikat o błędzie. Gdy 24 i 2 są traktowane jako dane wejściowe, wówczas 12.0 jest drukowane jako wyjście.
wyjście.
Idź na szczyt
Logowanie do pliku
Dane wyjściowe rejestrowania pokazuje domyślnie w konsoli. Ale możesz przechowywać dane wyjściowe rejestrowania w pliku za pomocą argumentu nazwy pliku Funkcji BasicConfig (). Jak można przechowywać informacje rejestrowania w pliku, jest pokazany w przykładzie. Tutaj, 'Mój.dziennik„jest przypisany jako nazwa pliku i przechowywana w argumencie nazwy pliku BasicConfig (). Poziom rejestrowania jest ustawiony na debugowanie. Po uruchomieniu skryptu ”Mój.dziennik' Plik zostanie utworzony, a komunikaty dziennika będą przechowywane w pliku.
Przykład 11.py
#Import Rejestrowanie modułuUruchom skrypt i wyświetl treść Mój.dziennik Plik z terminalu.
$ Python Przykład 11.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Używanie zmiennej w rejestrowaniu
Wszelkie dane ze skryptu można dodać do dziennika za pomocą zmiennej w Python. Ten przykład pokazuje, w jaki sposób możesz przekazać dowolną zmienną Python w komunikacie dziennika. Ten poniższy skrypt przyjmie dwa wejścia ciągów od użytkowników jako nazwa użytkownika I hasło. Jeśli wartości wejściowe pasują do wartości wymienionych w skrypcie, wówczas wydrukuje komunikat dziennika błędu przekazany z wartością errmsg zmienny. Jeśli wartości nie pasują, wówczas wydrukuje komunikat dziennika informacji o wartości tej samej zmiennej.
Przykład12.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład12.pyWyjście:
Skrypt jest wykonywany dwa razy z prawidłowymi danymi i nieprawidłowymi danymi w następującym wyjściu. Gdy 'Admin' I 'sekret'są przekazywane jako nazwa użytkownika I hasło które są nieprawidłowymi danymi, a następnie zapisał komunikat awarii w zmiennej, errmsg. Gdy 'Fahmida ' I 'sekret' są przekazywane jako nazwa użytkownika I hasło Jako wejście, które są prawidłowymi danymi, komunikat sukcesu jest przechowywany w zmiennej, errmsg. Wartość errmsg jest drukowany z komunikatem o błędzie dziennika dla porażki i komunikat.
Idź na szczyt
Używając wyjątku ()
wyjątek() Funkcja jest używana w rejestrowaniu, jeśli skrypt Python zawiera kod obsługi wyjątków. Działa jak funkcja logowania błędu (). Różnica polega na tym wyjątek() Funkcja wyświetla ślad stosu wraz z wyjściem. Zastosowanie tej funkcji pokazano w poniższym przykładzie. Poniższy skrypt przyjmie wartość liczbową jako wejście i podniesie wyjątek, jeśli wartość wejściowa jest ujemna. Tutaj, wyjątek() Funkcja wydrukuje wyjątek z wyjątkiem Catch Catch Catch.
Przykład13-py
#Import Rejestrowanie modułuUruchom skrypt z terminalu.
$ Python Przykład13.pyWyjście:
Gdy skrypt jest wykonywany z wartością -89, która jest ujemna, wrzucił wyjątek i wydrukował ślad stosu i wyjście wyjątków. Gdy skrypt jest wykonywany z wartością 13, wówczas nie jest drukowana wiadomość.
Idź na szczyt
Tworzenie modułu obsługi
Wpisy z dziennika można obsługiwać na różne sposoby, używając różnych obsługi. Najczęściej używane obsługi do rejestrowania są FileHandler I StreamHandler. FileHandler służy do wysyłania wpisów dziennika do pliku i StreamHandler służy do wysyłania wpisów dziennika do konsoli. Zastosowania tych przewodników pokazano w poniższym przykładzie. W tym skrypcie ustawiony jest poziom debugowania FileHandler Obiekt i poziom informacyjny jest ustawiony dla StreamHandler obiekt. W tym celu wiadomości debugowania i informacyjne będą przechowywane w logData.dziennik Komunikat plików i informacji zostanie wydrukowany w konsoli.
Przykład14.py
#Import ModuleUruchom skrypt i wyświetl zawartość „logData.plik logów z terminalu.
$ Python Przykład14.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Używając formattera ()
Formatter () Funkcja służy do konfigurowania zawartości i struktury danych dziennika. Jak możesz użyć Formatter () funkcja, aby skonfigurować dane dziennika FileHandler Obiekt jest pokazany w poniższym przykładzie. Tutaj, Formatter () Służy do formatowania danych dziennika z czasem tworzenia, nazwy logowania i komunikatem dziennika. mylog.dziennik plik zostanie utworzony po wykonaniu skryptu, a sformatowane komunikaty dziennika będą przechowywane w pliku.
Przykład15.py
#Import ModuleUruchom skrypt i wyświetl zawartość „logData.plik logów z terminalu.
$ Python Przykład15.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Za pomocą Logrecord.getMessage ()
Gdy cokolwiek jest rejestrowane przez logger, obiekt Logrecocd jest tworzony automatycznie. Funkcję MakeRord () można użyć do ręcznego tworzenia obiektu Logrecord. Obiekt Logrecord zawiera wiele atrybutów i getMessage () funkcjonować. Gdy obiekt Logrecord jest tworzony wówczas ręcznie getMessage () zwraca wiadomość obiektu Logrecord na podstawie argumentów przekazanych przez użytkownika. Poniższy przykład pokazuje użycie getMessage () funkcjonować.
Przykład16.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład16.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Korzystanie z atrybutów Logrecord - Args
Args atrybut przechowuje argumenty przekazane obiektowi Logrecord. Wartości Args są połączone z MSG atrybut, aby wytworzyć wartość wiadomość atrybut, gdy obiekt Logrecord tworzy się automatycznie. Wartość atrybutu Args można odczytać poprzez ręczne tworzenie obiektu Logrecord. W poniższym przykładzie wymieniony obiekt Logrecord Logrecord jest tworzony ręcznie przez dane zdefiniowane przez użytkownika, a wartość argumentu jest drukowana przez Args atrybut.
Przykład17.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład17.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Korzystanie z atrybutów Logrecord - Asctime
ASCTIME atrybut służy do przechowywania czasu, w którym tworzy dowolny Logrecord. Zapisał datę, godzinę i czasy w milisekundach po utworzeniu dowolnego obiektu loggera. Poniższy przykład pokazuje użycie tego atrybutu. Format tego atrybutu jest „%(asctime) s”.
Przykład18.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład18.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Korzystanie z atrybutów Logrecord - nazwa pliku
Nazwa pliku Atrybut służy do pobrania części nazwy pliku ze ścieżki. Poniższy przykład pokazuje użycie tego atrybutu. Format tego atrybutu jest „%(nazwa pliku) s”.
Przykład19.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład19.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Korzystanie z atrybutów Logrecord - FuncName
FuncName atrybut polega na pobraniu nazwy funkcji, z której wywoływane jest rejestrowanie. Poniższy przykład pokazuje użycie tego atrybutu. Tutaj obiekt logger jest tworzony w funkcji, mylog_func (). Format tego atrybutu jest „%(FuncName) s”.
Przykład20.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład20.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Za pomocą atrybutów Logrecord - lineno
Lineno atrybut służy do pobierania numeru linii, z którego wywoływane jest rejestrowanie. Zwróci wartość liczbową. Poniższy przykład pokazuje użycie tego atrybutu. Format tego atrybutu jest „%(lineno) s”.
Przykład21.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład 21.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Za pomocą atrybutów Logrecord - moduł
moduł Atrybut służy do pobierania tylko nazwy pliku bez rozszerzenia ze ścieżki pliku. Poniższy przykład pokazuje użycie tego atrybutu. Format tego atrybutu jest „%(moduł) s”.
Przykład22.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład 22.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Korzystanie z atrybutów Logrecord - nazwa
nazwa Atrybut służy do pobierania nazwy loggera używanej w funkcji getLogger (). Poniższy przykład pokazuje użycie tego atrybutu. Format tego atrybutu jest '%(nazwy'.
Przykład23.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład 23.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Korzystanie z atrybutów Logrecord - nazwa ścieżki
nazwa ścieżki Atrybut służy do pobrania ścieżki lokalizacji pliku. Poniższy przykład pokazuje użycie tego atrybutu. Format tego atrybutu jest „%(ścieżka) s”.
Przykład24.py
#Import ModuleUruchom skrypt z terminalu.
$ Python Przykład24.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Za pomocą rejestrowania.wyłączyć
Disable () Funkcja służy do wyłączenia wszystkich wywołania rejestrowania dla określonego poziomu. Na przykład, jeśli jest to wywoływane z poziomem informacyjnym, wszystkie komunikaty danych, ostrzeżenie, błędy i krytyczne zostaną zignorowane dla wszystkich rejestratorów. Zastosowanie tej funkcji pokazano w poniższym przykładzie. Komunikat ostrzegawczy jest włączony dla domyślnej rejestrii. Tak więc druga wiadomość ostrzegawcza nie zostanie wydrukowana po wyłączeniu poziomu ostrzegawczego.
Przykład25.py
#Importing ModuleUruchom skrypt z terminalu.
$ Python Przykład 25.pyWyjście:
Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.
Idź na szczyt
Informacje o rejestrowaniu pomagają koderowi zidentyfikować różne problemy kodu i szybko rozwiązać problem. Programista Python musi nauczyć się opcji rejestrowania Pythona, aby ich kod był bardziej odpowiedni. Podstawowe zastosowania rejestrowania Pythona pokazano w tym artykule przy użyciu 25 różnych przykładów. Mam nadzieję, że ten artykuł pomoże czytelnikom prawidłowo zastosować dane logarytmiczne w kodzie Python.