Python:
Pisanie do standardowego błędu

Jak to zrobić:

Korzystając z sys.stderr

Wbudowany moduł sys w Pythonie pozwala na jawne pisanie do stderr. To podejście jest proste dla prostych komunikatów o błędach lub diagnostyki.

import sys

sys.stderr.write('Błąd: Coś poszło nie tak.\n')

Przykładowe wyjście (do stderr):

Błąd: Coś poszło nie tak.

Korzystając z funkcji print

Funkcja print w Pythonie może przekierować swoje wyjście do stderr, określając parametr file. Ta metoda jest przydatna do wykorzystania przyjazności funkcji print podczas obsługi komunikatów o błędach.

from sys import stderr

print('Błąd: Awaria w module.', file=stderr)

Przykładowe wyjście (do stderr):

Błąd: Awaria w module.

Korzystając z modułu logging

Dla bardziej kompleksowego rozwiązania, moduł logging w Pythonie może kierować komunikaty do stderr i wiele więcej, takie jak zapisywanie do pliku czy dostosowywanie formatu wiadomości. Ta metoda jest najlepsza dla aplikacji wymagających różnych poziomów logowania, formatowania wiadomości lub celów.

import logging

logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)

logger.error('Błąd: Nie udało się połączyć z bazą danych.')

Przykładowe wyjście (do stderr):

ERROR:__main__:Błąd: Nie udało się połączyć z bazą danych.

Biblioteki stron trzecich: loguru

loguru to popularna biblioteka stron trzecich, która upraszcza logowanie w aplikacjach Pythona. Automatycznie kieruje błędy do stderr, wśród innych funkcjonalności.

Aby użyć loguru, najpierw zainstaluj ją za pomocą pip:

pip install loguru

Następnie włącz ją do swojego skryptu Pythona w następujący sposób:

from loguru import logger

logger.error('Błąd: Nie udało się otworzyć pliku.')

Przykładowe wyjście (do stderr):

2023-04-05 12:00:00.000 | ERROR    | __main__:<module>:6 - Błąd: Nie udało się otworzyć pliku.