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.
import loggingfrom rich.logging import RichHandlerlogger = logging.getLogger("simple_example")logger.setLevel(logging.DEBUG)# logger jest tworzony tylko raz, więc nie dodajemy handlerów więcej niż razifnot logger.hasHandlers():# zapisujemy logi DEBUG i wyżej do pliku fh = logging.FileHandler("simple_example.log") fh.setLevel(logging.DEBUG)# ustalamy format logów formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s", )# dodajemy formatter do handlera fh.setFormatter(formatter)# dodajemy handler do loggera logger.addHandler(fh)# wypisujemy logi INFO i wyżej do terminala# używamy RichHandler do kolorowych czytelnych logów ch = RichHandler() ch.setLevel(logging.INFO) logger.addHandler(ch)# przykładowe logilogger.debug("debug message")logger.info("info message")logger.warning("warn message")logger.error("error message")