Używamy tej recepty wzbogaconej o pakiet rich do ustawienia logowania w projekcie. Dostajemy wtedy kolorowe logi na poziomie INFO i wyżej w terminalu, a dodatkowe informacje na poziomie DEBUG w pliku log.txt.
Show the code
import logging
from rich.logging import RichHandler
logger = logging.getLogger("simple_example" )
logger.setLevel(logging.DEBUG)
1 if not logger.hasHandlers():
2 fh = logging.FileHandler("simple_example.log" )
fh.setLevel(logging.DEBUG)
3 formatter = logging.Formatter(
" %(asctime)s - %(name)s - %(levelname)s - %(message)s " ,
)
4 fh.setFormatter(formatter)
5 logger.addHandler(fh)
6 ch = RichHandler()
ch.setLevel(logging.INFO)
logger.addHandler(ch)
7 logger.debug("debug message" )
logger.info("info message" )
logger.warning("warn message" )
logger.error("error message" )
1
logger jest tworzony tylko raz, więc nie dodajemy handlerów więcej niż raz
2
zapisujemy logi DEBUG i wyżej do pliku
3
ustalamy format logów
4
dodajemy formatter do handlera
5
dodajemy handler do loggera
6
wypisujemy logi INFO i wyżej do terminala, używamy RichHandler do kolorowych czytelnych logów
7
przykładowe logi
W pliku dostajemy logi w formacie:
2025-05-03 14:36:52,989 - simple_example - DEBUG - debug message
2025-05-03 14:36:52,989 - simple_example - INFO - info message
2025-05-03 14:36:52,991 - simple_example - WARNING - warn message
2025-05-03 14:36:52,992 - simple_example - ERROR - error message
Zadanie
Wybierz jedną z dotychczasowych list zadań i dodaj do niej logowanie.
Zamien print na logger.info lub logger.debug w odpowiednich miejscach.
Dodaj logowanie błędów w miejscach, gdzie wcześniej był print z błędem.
Dodaj dodatkowe logi DEBUG w miejscach, które sprawiły Ci trudność lub były niejasne.
Back to top