Python:
Scrivere sull'errore standard
Come fare:
Utilizzando sys.stderr
Il modulo integrato sys
di Python consente di scrivere esplicitamente su stderr
. Questo approccio è diretto per messaggi di errore semplici o diagnostici.
import sys
sys.stderr.write('Errore: Qualcosa è andato storto.\n')
Esempio di output (su stderr):
Errore: Qualcosa è andato storto.
Utilizzando la funzione print
La funzione print
di Python può reindirizzare il suo output su stderr
specificando il parametro file
. Questo metodo è utile per sfruttare la facilità d’uso di print
mentre si gestiscono messaggi di errore.
from sys import stderr
print('Errore: Fallimento nel modulo.', file=stderr)
Esempio di output (su stderr):
Errore: Fallimento nel modulo.
Utilizzando il modulo logging
Per una soluzione più completa, il modulo logging
di Python può indirizzare i messaggi su stderr
e molto altro, come scrivere su un file o personalizzare il formato dei messaggi. Questo metodo è il migliore per applicazioni che richiedono vari livelli di registrazione, formattazione dei messaggi o destinazioni.
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('Errore: Connessione al database fallita.')
Esempio di output (su stderr):
ERROR:__main__:Errore: Connessione al database fallita.
Librerie di terze parti: loguru
loguru
è una popolare libreria di terze parti che semplifica il logging nelle applicazioni Python. Dirotta automaticamente gli errori su stderr
, tra le altre caratteristiche.
Per utilizzare loguru
, installalo prima via pip:
pip install loguru
Poi, incorporalo nel tuo script Python come segue:
from loguru import logger
logger.error('Errore: Impossibile aprire il file.')
Esempio di output (su stderr):
2023-04-05 12:00:00.000 | ERRORE | __main__:<module>:6 - Errore: Impossibile aprire il file.