Modul logging je velmi užitečným nástrojem v programovacím jazyce Python, který vám umožňuje zaznamenávat zprávy a chyby během procesu vašeho programu. Co ale dělat, když máte více modulů a chcete vědět, z jakého modulu byla konkrétní zpráva vytvořena? V tomto případě je možné ke každé zprávě přidat název loggeru, abyste pochopili, z jakého modulu pochází.
Chcete-li přidat název loggeru do modulu logging Python musíte provést několik jednoduchých kroků:
- Importujte modul logging pomocí příkazu import logging .
- Vytvořte loggerův objekt pomocí příkazu logger = logging.getLogger ("jméno"). Zde může být jméno loggeru jakýmkoli jedinečným identifikátorem pro váš modul.
- Použijte příkazy logger.debug() , logger.info() , logger.warning() , logger.error () nebo logger.critical () pro registraci zpráv s uvedením úrovně důležitosti.
Příklad použití loggeru s přidaným názvem
import logginglogger = logging.getLogger('имя_логгера')logger.addHandler(logging.StreamHandler())logger.info('Это сообщение из модуля A')logger.info('Это сообщение из модуля B')
имя_логгера: INFO: Это сообщение из модуля Aимя_логгера: INFO: Это сообщение из модуля B
Nyní víte, jak přidat název loggeru do modulu logging Python a zachovat strukturovanost v záznamu doupat. To je velmi užitečné, když pracujete s více moduly a chcete přesně vědět, z jakého modulu každá zpráva pochází. Použijte tuto funkci ke zlepšení snadného ladění a ovládání vašeho programu!
Jak používat modul logging Python
Chcete-li použít modul logging, musíte jej importovat do svého kódu:
import logging
Hlavní objekt, se kterým budeme pracovat, se jmenuje logger. Logger je instance třídy Logger z modulu logging. Chcete-li vytvořit logger, musíte provést následující kroky:
logger = logging.getLogger(__name__)
Zde "_ _ name__ " představuje název aktuálního modulu a bude použit jako název loggeru.
Existuje několik úrovní logiky, které poukazují na důležitost zpráv. Nejčastěji používané úrovně logování:
- DEBUG-používá se pro ladění informací, nejpodrobnější úroveň;
- INFO-používá se pro informační zprávy, například o průběhu programu;
- WARNING-slouží k varovným zprávám o potenciálních problémech;
- ERROR-používá se pro chybové zprávy;
- CRITICAL-používá se pro nejzávažnější chyby, které vyžadují okamžitý zásah.
Chcete-li zaznamenat zprávu logu, můžete použít různé metody loggeru podle úrovně logování:
- logger.debug () - pro záznam ladicích informací;
- logger.info () - pro zaznamenávání informačních zpráv;
- logger.warning () - pro záznam varovných zpráv;
- logger.error() - pro zaznamenávání chybových zpráv;
- logger.critical () - pro záznam nejzávažnějších chyb.
Při nahrávání zpráv můžete použít formátování k přidání různých proměnných nebo dat. Například:
logger.info('User %s logged in', username)
V tomto příkladu bude zpráva logu obsahovat informace o uživateli, který se přihlásil.
Modul logging také poskytuje možnost konfigurovat různé možnosti logování, jako je formát zpráv, úroveň logování, obslužné rutiny doupat a filtry. To vám umožní doladit logování podle požadavků vaší aplikace.
Použití modulu logging Python pomáhá zjednodušit proces logování a zvyšuje čitelnost a ladění kódu ve vašich aplikacích.
Nastavení modulu logging
Pro zahájení práce s modulem logging musí se dovážet:
import logging
1. Vytvoření loggeru
K vytvoření loggeru je třeba použít funkci logging.getLogger (name) , kde name - jméno vytvořeného loggera:
logger = logging.getLogger('my_logger')
2. Nastavení úrovně logování
Úroveň logování určuje, které zprávy budou zaznamenány do logu. Modul logging poskytuje následující úrovně logování (ve vzestupném pořadí):
- DEBUG-Podrobná ladicí zpráva
- INFO - informační zpráva
- WARNING-varování
- ERROR-Chyba
- CRITICAL - kritická chyba
Úroveň logování lze nastavit pomocí metody logger.setLevel (level) , kde level - požadovaná úroveň:
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
Můžete zadat následující parametry:
- %(asctime)s-datum a čas zápisu logu
- %(name) s-název loggeru
- %(levelname)s-úroveň logování
- %(message) s-textová zpráva
4. Instalace psovoda
Zpracovatel určí, kam bude logický záznam zapsán. Modul logging poskytuje několik typů obslužných rutin, například:
Chcete-li nainstalovat obslužnou rutinu, měli byste použít metodu logger.addHandler (handler), kde handler - požadovaný zpracovatel:
handler = logging.StreamHandler()logger.addHandler(handler)
5. Vazba formátu na psovoda
Chcete-li k obsluze připojit dříve vytvořený formát, nainstalujte jej pomocí metody handler.setFormatter(formatter) :
handler.setFormatter(formatter)