Ruby:
Pisanie do standardowego błędu

Jak to zrobić:

Standardowa biblioteka Ruby’ego zapewnia prosty sposób na zapis do stderr za pomocą $stderr lub STDERR. Nie potrzebujesz bibliotek stron trzecich do tej podstawowej operacji.

Zapisywanie prostej wiadomości do stderr:

$stderr.puts "Błąd: Nie znaleziono pliku."
# Lub równoważnie
STDERR.puts "Błąd: Nie znaleziono pliku."

Przykładowe wyjście (do stderr):

Błąd: Nie znaleziono pliku.

Przekierowywanie stderr do pliku:

File.open('error.log', 'w') do |plik|
  STDERR.reopen(plik)
  STDERR.puts "Nie udało się otworzyć konfiguracji."
end

Ten fragment kodu przekierowuje stderr do pliku o nazwie error.log, a wszystkie kolejne zapisane błędy będą tam wyjściowane aż do zresetowania przekierowania stderr lub zakończenia programu.

Użycie stderr z obsługą wyjątków:

begin
  # Symulacja operacji, która może się nie powieść, np. otwarcie pliku
  File.open('nonexistent_file.txt')
rescue Exception => e
  STDERR.puts "Wystąpił wyjątek: #{e.message}"
end

Przykładowe wyjście (do stderr):

Wystąpił wyjątek: No such file or directory @ rb_sysopen - nonexistent_file.txt

Chociaż wbudowane metody Ruby’ego do pisania do stderr wystarczają dla wielu zastosowań, dla bardziej złożonych potrzeb logowania można rozważyć użycie standardowej biblioteki logger lub zewnętrznych gemów takich jak Log4r. Zapewniają one konfigurowalne mechanizmy logowania, w tym poziomy ważności, formatowanie i możliwość zapisu do różnych wyjść, w tym do plików, e-maili i innych.