Python:
Skriva till standardfel
Hur gör man:
Använda sys.stderr
Pythons inbyggda sys
-modul tillåter explicit skrivning till stderr
. Detta tillvägagångssätt är okomplicerat för enkla felmeddelanden eller diagnostik.
import sys
sys.stderr.write('Fel: Något gick fel.\n')
Exempel på utdata (till stderr):
Fel: Något gick fel.
Använda print
-funktionen
Pythons print
-funktion kan omdirigera sin utskrift till stderr
genom att specificera file
-parametern. Denna metod är användbar för att utnyttja print
:s användarvänlighet samtidigt som man hanterar felmeddelanden.
from sys import stderr
print('Fel: Fel i modulen.', file=stderr)
Exempel på utdata (till stderr):
Fel: Fel i modulen.
Använda logging
-modulen
För en mer omfattande lösning kan Pythons logging
-modul rikta meddelanden till stderr
och mycket mer, såsom att skriva till en fil eller anpassa meddelandeformat. Denna metod är bäst för applikationer som kräver olika nivåer av loggning, meddelandeformatering eller destinationer.
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('Fel: Databasanslutning misslyckades.')
Exempel på utdata (till stderr):
ERROR:__main__:Fel: Databasanslutning misslyckades.
Tredjepartsbibliotek: loguru
loguru
är ett populärt tredjepartsbibliotek som förenklar loggning i Python-applikationer. Det dirigerar automatiskt fel till stderr
, bland andra funktioner.
För att använda loguru
, installera det först via pip:
pip install loguru
Inkorporera sedan det i ditt Python-skript enligt följande:
from loguru import logger
logger.error('Fel: Misslyckades med att öppna fil.')
Exempel på utdata (till stderr):
2023-04-05 12:00:00.000 | ERROR | __main__:<module>:6 - Fel: Misslyckades med att öppna fil.