10 najlepszych przykładów rejestrowania Pythona

10 najlepszych przykładów rejestrowania Pythona
Informacje o dzienniku są bardzo ważne dla debugowania i opracowania dowolnej aplikacji. Gdy aplikacja uruchomi się, każde zdarzenie można śledzić za pomocą funkcji rejestrowania. Programista może uzyskać jasne zrozumienie przepływu programu za pomocą danych logarytmicznych. Gdy jakikolwiek program się ulegnie awarii, przyczynę awarii można łatwo wykryć według zapisów dziennika, które oszczędzają czasy rozwoju. Wydajność aplikacji można również zmierzyć poprzez rejestrowanie.

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:

  1. Za pomocą getLogger ()
  2. Używając BasicConfig ()
  3. Za pomocą setlevel ()
  4. Używanie geteffectivelevel ()
  5. Używając isenabledfor ()
  6. Za pomocą Debug ()
  7. Za pomocą informacji ()
  8. Za pomocą ostrzeżenia ()
  9. Za pomocą błędu ()
  10. Używanie krytycznego ()
  11. Logowanie do pliku
  12. Używanie zmiennej w rejestrowaniu
  13. Używając wyjątku ()
  14. Tworzenie modułu obsługi
  15. Używając formattera ()
  16. Korzystanie z Logrecord GetMessage
  17. Korzystanie z atrybutów Logrecord - Args
  18. Korzystanie z atrybutów Logrecord - Asctime
  19. Korzystanie z atrybutów Logrecord - nazwa pliku
  20. Korzystanie z atrybutów Logrecord - FuncName
  21. Za pomocą atrybutów Logrecord - lineno
  22. Za pomocą atrybutów Logrecord - moduł
  23. Za pomocą atrybutów Logrecord - MSG
  24. Za pomocą atrybutów Logrecord - nazwa ścieżki
  25. Za pomocą rejestrowania.wyłączyć

Za pomocą getLogger ()

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 Module
Rejestrowanie importu
# Wydrukuj pierwsze wiadomości ostrzegawcze
Logowanie.Ostrzeżenie („To jest pierwsza wiadomość ostrzegawcza”)
#Tworzenie obiektu
logger = logowanie.getLogger ()
# Wydrukuj drugie wiadomości ostrzegawcze
logger.Ostrzeżenie („to jest drugie przesłanie ostrzegawcze”)
#Tworzenie obiektu
logger = logowanie.GetLogger („MyLog”)
# Wydrukuj trzecie wiadomości ostrzegawcze
logger.Ostrzeżenie („to jest trzecie przesłanie ostrzegawcze”)

Uruchom skrypt z terminalu.

$ Python Przykład 1.py

Wyjś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 Module
Rejestrowanie importu
#Ukrep i skonfiguruj rejestrator
Logowanie.BasicConfig (format = '%(komunikat) s', poziom = logowanie.ODPLUSKWIĆ)
# Wydrukuj wiadomości testowe przed ustawieniem poziomu
Logowanie.debugowanie („Wydrukuj wiadomość debugującą”)

Uruchom skrypt z terminalu.

$ Python Przykład 2.py

Wyjś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 Module
Rejestrowanie importu
#Utwórz i skonfiguruj logger
Logowanie.BasicConfig (format = '%(wiadomość) s')
#Tworzenie obiektu
logger = logowanie.getLogger ()
# Wydrukuj wiadomości testowe przed ustawieniem poziomu
logger.debugowanie („Test Debug Message”)
logger.Ostrzeżenie („Przechodnia ostrzegawcza”)
# Ustaw poziom logowania na debugowanie
logger.setLevel (logowanie.ODPLUSKWIĆ)
# Wydrukuj wiadomości testowe po ustawieniu
logger.debugowanie („Przechodnia testowa debugowania 2”)
logger.Ostrzeżenie („Przechodnia ostrzegawcza 2”)

Uruchom skrypt z terminalu.

$ Python Przykład3.py

Wyjś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 Module
Rejestrowanie importu
#Create Logger obiekt
logger = logowanie.getLogger ()
#PROPRUMU bieżący kod poziomu dziennika
Drukuj („Obecny kod poziomu dziennika: % d” (logger.geteffectivelevel ()))
# Ustaw poziom dziennika na ostrzeżenie
Logowanie.BasicConfig (poziom = rejestrowanie.ODPLUSKWIĆ)
#PROPRUMU bieżący kod poziomu dziennika
Drukuj („Obecny kod poziomu dziennika: % d” (logger.geteffectivelevel ()))

Uruchom skrypt z terminalu.

$ Python Przykład4.py

Wyjś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 Module
Rejestrowanie importu
#Create Logger obiekt
logger = logowanie.GetLogger („MyLog”)
#Sprawdź, czy poziom informacyjny jest włączony lub nie
Drukuj („Poziom informacyjny jest włączony: % s” % (logger.isEnabledfor (logowanie.Informacje)))
# Ustaw poziom dziennika na informacje
Logowanie.BasicConfig (poziom = rejestrowanie.Informacje)
#Sprawdź, czy poziom informacyjny jest włączony lub nie
Drukuj („Poziom informacyjny jest włączony: % s” % (logger.isEnabledfor (logowanie.Informacje)))

Uruchom skrypt z terminalu.

$ Python Przykład 5.py

Wyjś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 Module
Rejestrowanie importu
# Ustaw poziom dziennika na debugowanie
Logowanie.BasicConfig (poziom = rejestrowanie.ODPLUSKWIĆ)
#Declare Funkcja do sprawdzania numeru sprawdzania
def check_even (n):
#Sprawdź, że liczba jest nawet lub nie
Jeśli n%2 != 0:
#PRINT DEBUG CHIMSTAR
Logowanie.debugowanie („liczba nie jest nawet”)
#Wprowadź numer od użytkownika
n = wejście („Wprowadź liczbę parzystą \ n”)
#Zakładaj funkcję
Check_even (int (n))

Uruchom skrypt z terminalu.

$ Python Przykład6.py

Wyjś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 Module
Rejestrowanie importu
# Ustaw poziom dziennika na informacje
Logowanie.BasicConfig (poziom = rejestrowanie.Informacje)
#Posisz dwie wartości na x i y
x = 30
y = 20
#Declare funkcja o nazwie dodanie
def dodanie (x, y):
#Ad dwie liczby
Powrót (x+y)
#Print wartości sumowania jako komunikat informacyjny
Logowanie.informacje („suma % d i % d to % d” % (x, y, dodatek (x, y))))

Uruchom skrypt z terminalu.

$ Python Przykład7.py

Wyjś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 Module
Rejestrowanie importu
# Ustaw poziom dziennika na informacje
Logowanie.BasicConfig (poziom = rejestrowanie.OSTRZEŻENIE)
#Przeczytaj wartość promienia jako dane wejściowe
r = wejście („Wprowadź numer \ n”)
#Declare Funkcja o nazwie
Obszar def (promień):
#Sprawdź wartość promienia
Jeśli promień == 0:
#PRINT OSTRZEŻENIE Jeśli promień wynosi zero
Logowanie.Ostrzeżenie („Wartość promienia nie może być zerowa”)
w przeciwnym razie:
#Uzupełnij obszar koła
Drukuj („Obszar koła = % d” % (3.14*promień ** 2))
#Zakładaj funkcję
obszar (int (r))

Uruchom skrypt z terminalu.

$ Python Przykład 8.py

Wyjś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żki
Import OS.ścieżka
ze ścieżki importu systemu operacyjnego
#Import Rejestrowanie modułu
Rejestrowanie importu
# Ustaw poziom dziennika na błąd
Logowanie.BasicConfig (poziom = rejestrowanie.BŁĄD)
#Przeczytaj wartość promienia jako dane wejściowe
fn = wejście („wprowadź nazwę pliku \ n”)
#Declare Funkcja o nazwie
def Readfile (nazwa pliku):
#Sprawdź plik istnieje lub nie
Jeśli ścieżka.istnieje (nazwa pliku) == 0:
#Print Komunikat o błędzie Jeśli nie istnieje plik
Logowanie.błąd („plik nie istnieje”)
w przeciwnym razie:
#Przeczytaj i wydrukuj plik, jeśli istnieje
fh = otwarty (nazwa pliku, „r”)
Drukuj („\ nFile treść: \ n % s” % (fh.Czytać()))
#Zakładaj funkcję
Readfile (FN)

Uruchom skrypt z terminalu.

$ Python Przykład 9.py

Wyjś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 Module
Rejestrowanie importu
# Ustaw poziom dziennika na krytyczny
Logowanie.BasicConfig (poziom = rejestrowanie.KRYTYCZNY)
#Weź wartość dywidendy
Dividend = int (input („Wprowadź wartość dywidendy \ n”))
#Weź wartość dzieliny
divisor = int (input („Wprowadź wartość dzieliny \ n”))
próbować:
#Daj liczby
Drukuj (dywidenda/dzielnik)
Z wyjątkiem ZerodivisionError:
#PRORT KRYTYCZNA wiadomość
Logowanie.krytyczny („podział zero błędu”)

Uruchom skrypt z terminalu.

$ Python Przykład10.py

Wyjś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łu
Rejestrowanie importu
#Ustaw nazwę pliku dziennika
nazwa pliku = 'my.dziennik'
#Ustaw nazwę i poziom pliku dziennika
Logowanie.BasicConfig (nazwa pliku = nazwa pliku, poziom = rejestrowanie.ODPLUSKWIĆ)
#Print Wiadomości do pliku
Logowanie.debugowanie („Wiadomość debugowania”)
Logowanie.Informacje („Wiadomość informacyjna”)
Logowanie.Błąd („komunikat o błędzie”)

Uruchom skrypt i wyświetl treść Mój.dziennik Plik z terminalu.

$ Python Przykład 11.py
$ cat my.dziennik

Wyjś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 Module
Rejestrowanie importu
#Strecate Logger
logger = logowanie.GetLogger („MyLog”)
#Wprowadź dwa dane wejściowe w zmiennej „nazwa użytkownika” i „hasło”
nazwa użytkownika = wejście („Wprowadź nazwę użytkownika \ n”)
hasło = wejście („wprowadź hasło \ n”)
#Konfiguruj logowanie z formatem i poziomem
Logowanie.BasicConfig (format = '%(wiadomość) s', poziom = 10)
„Sprawdź, czy nazwa użytkownika i hasło są ważne, czy nie. Przydzielać
Komunikat o powodzenia prawidłowego komunikatu użytkownika i błędu dla nieprawidłowego użytkownika
do zmiennej „errmsg”. Zmienna „Erflag” ustawi 1 dla błędu
i 0 dla sukcesu.
"
Jeśli nazwa użytkownika == „fahmida” i hasło == „Secret”:
errflag = 0
errmsg = „Uwierzytelnianie udane”
w przeciwnym razie:
Erflag = 1
errmsg = „Uwierzytelnianie nie powiodło się”
#Komunikat dziennika odcisku oparty na „Erflag”
Jeśli errflag:
logger.Błąd ('%s: nieprawidłowy użytkownik', errmsg)
w przeciwnym razie:
logger.informacje ('%s: prawidłowy użytkownik', errmsg)

Uruchom skrypt z terminalu.

$ Python Przykład12.py

Wyjś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łu
Rejestrowanie importu
#Wprowadź wejście
numer = int (input („wprowadź liczbę dodatnią \ n”))
próbować:
#Sprawdź wartość wejścia jest dodatnia lub ujemna
Jeśli liczba < 0 :
Podnieś wyjątek („Wartość wejściowa jest ujemna”)
z wyjątkiem wyjątku jako E:
#PRORT KOMUNIKACJA wyjątku
Logowanie.Wyjątek (e)

Uruchom skrypt z terminalu.

$ Python Przykład13.py

Wyjś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 Module
Rejestrowanie importu
#Strecate Logger
logger = logowanie.GetLogger („MyLog”)
#Poziom rejestrowania
logger.setLevel (logowanie.ODPLUSKWIĆ)
#Create StreamHandler obiekt
Chandler = rejestrowanie.StreamHandler ()
#Set poziom StreamHandler
kupiec.setLevel (logowanie.Informacje)
#Create FileHandler obiekt
fhandler = rejestrowanie.FileHandler („logData.dziennik')
#Set poziom dla FileHandler
fhandler.setLevel (logowanie.ODPLUSKWIĆ)
#Add FileHandler obiekt do logger
logger.Addhandler (FHANDLER)
#Add StruanHandler obiekt do logera
logger.Addhandler (Chandler)
#Komunikaty dziennika
logger.debugowanie („Drukuj wiadomość debugowania”)
logger.Informacje („Drukuj wiadomość informacyjną”)

Uruchom skrypt i wyświetl zawartość „logData.plik logów z terminalu.

$ Python Przykład14.py
$ cat logdata.dziennik

Wyjś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 Module
Rejestrowanie importu
# Utwórz niestandardowy rejestrator
logger = logowanie.getLogger ()
# Utwórz obsługi
file_handler = logowanie.FileHandler („mylog.dziennik')
#STEC HEDLER LOG LOG
FILE_HANDLER.setLevel (logowanie.ODPLUSKWIĆ)
# Utwórz formy
file_format = logowanie.Formatter (' %(ASCTIME) S - %(Nazwa poziomu) S - %(wiadomość) S')
#DD sformatuj do przewodnika
FILE_HANDLER.setFormatter (file_format)
#Add Handlers do rejestratora
logger.addhandler (file_handler)
#Komunikaty dziennika
logger.Ostrzeżenie („Wiadomość ostrzegawcza”)
logger.Błąd („komunikat o błędzie”)

Uruchom skrypt i wyświetl zawartość „logData.plik logów z terminalu.

$ Python Przykład15.py
$ cat mylog.dziennik

Wyjś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 Module
Rejestrowanie importu
#Create Logrecord Obiekt
LOGREC = rejestrowanie.Logrecord („MyLogger”, 10, '/home/fahmida/python/example2.py ', 4,
„Python Logging Tutorial”, (), None)
#Call getMessage () do wydrukowania wiadomości
Drukuj (Logrec.getMessage ())

Uruchom skrypt z terminalu.

$ Python Przykład16.py

Wyjś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 Module
Rejestrowanie importu
#Utwór niestandardowy rekord dziennika
Logrecord = logowanie.Logrecord („MyNewlog”, 30, „Python/code/example1.py ', 6,
„Samouczek rejestrowania Pythona”, „test”, ”)
#Print Args Wartość
Drukuj (Logrecord.Args)

Uruchom skrypt z terminalu.

$ Python Przykład17.py

Wyjś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 Module
Rejestrowanie importu
#Strecree Logger o nazwie
logger = logowanie.GetLogger („MyLog”)
#Set sformatowanie do odczytania atrybutu „Asctime”
lformat = '%(asctime) s'
#Konfiguruj logowanie z formatem
Logowanie.BasicConfig (format = lformat)
Komunikat dziennika #print
logger.Ostrzeżenie („To jest przesłanie ostrzegawcze”)

Uruchom skrypt z terminalu.

$ Python Przykład18.py

Wyjś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 Module
Rejestrowanie importu
#Set Formatting, aby odczytać atrybuty „Message” i „Filename”
lformat = ' %(wiadomość) s - %(nazwa pliku) s'
#Konfiguruj logowanie z formatem
Logowanie.BasicConfig (format = lformat)
Komunikat dziennika #print
Logowanie.błąd („komunikat o błędzie wystąpił w pliku”)

Uruchom skrypt z terminalu.

$ Python Przykład19.py

Wyjś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 Module
Rejestrowanie importu
#Declare Funkcja
def mylog_func ():
#Set sformatowanie, aby przeczytać atrybuty „Message” i „FuncName”
lformat = ' %(komunikat) s - %(FuncName) s'
#Konfiguruj logowanie z formatem
Logowanie.BasicConfig (format = lformat)
Komunikat dziennika #print
Logowanie.krytyczne („logger jest wywoływany z funkcji”)
#Zajmuj funkcję rejestrowania
mylog_func ()

Uruchom skrypt z terminalu.

$ Python Przykład20.py

Wyjś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 Module
Rejestrowanie importu
#Set Formatting, aby odczytać atrybuty „Message” i „Lineno”
lformat = ' %(wiadomość) s - %(lineno) d'
#Konfiguruj logowanie z formatem
Logowanie.BasicConfig (format = lformat, poziom = 20)
#Strecate Logger
logger = logowanie.getLogger ()
Komunikat dziennika #print
logger.Informacje („połączenie rejestrowania jest wydawane w Lineno”)

Uruchom skrypt z terminalu.

$ Python Przykład 21.py

Wyjś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 Module
Rejestrowanie importu
#Set Formatting, aby odczytać atrybuty „Message” i „Module”
lformat = ' %(komunikat) s - %(moduł) s'
#Konfiguruj logowanie z formatem i poziomem
Logowanie.BasicConfig (format = lformat, poziom = rejestrowanie.Informacje)
Komunikat dziennika #print
Logowanie.informacje („nazwa pliku bez rozszerzenia jest”)

Uruchom skrypt z terminalu.

$ Python Przykład 22.py

Wyjś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 Module
Rejestrowanie importu
#Set Formatting, aby odczytać atrybuty „Message” i „Nazwa”
lformat = ' %(wiadomość) s - %(nazwa) s'
#Konfiguruj logowanie z formatem i poziomem
Logowanie.BasicConfig (format = lformat, poziom = rejestrowanie.Informacje)
#Utwórz nazwę loggera
logger = logowanie.GetLogger („MyLog”)
Komunikat dziennika #print
logger.informacje („nazwa loggera to”)

Uruchom skrypt z terminalu.

$ Python Przykład 23.py

Wyjś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 Module
Rejestrowanie importu
#Set Formatting, aby przeczytać atrybuty „Message” i „PathName”
lformat = ' %(komunikat) s: %(ścieżka) s'
#Konfiguruj logowanie z formatem i poziomem
Logowanie.BasicConfig (format = lformat, poziom = rejestrowanie.Informacje)
Komunikat dziennika #print
Logowanie.Informacje („Lokalizacja pliku”)

Uruchom skrypt z terminalu.

$ Python Przykład24.py

Wyjś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 Module
Rejestrowanie importu
#Utwórz i skonfiguruj logger
Logowanie.BasicConfig (format = '%(wiadomość) s')
#Tworzenie obiektu
logger = logowanie.getLogger ()
# Wydrukuj wiadomości testowe przed wyłączeniem
logger.Ostrzeżenie („Przechodnia ostrzegawcza 1”)
Logowanie.Wyłącz (logowanie.OSTRZEŻENIE)
logger.Ostrzeżenie („Przechodnia ostrzegawcza 2”)

Uruchom skrypt z terminalu.

$ Python Przykład 25.py

Wyjście:

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Idź na szczyt

Wniosek

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.