Scrivere sull'errore standard

Ruby:
Scrivere sull'errore standard

Come fare:

La libreria standard di Ruby offre un modo diretto per scrivere su stderr utilizzando $stderr o STDERR. Non è necessario utilizzare librerie di terze parti per questa operazione di base.

Scrivere un semplice messaggio su stderr:

$stderr.puts "Errore: File non trovato."
# Oppure equivalente
STDERR.puts "Errore: File non trovato."

Esempio di output (su stderr):

Errore: File non trovato.

Reindirizzare stderr su un file:

File.open('error.log', 'w') do |file|
  STDERR.reopen(file)
  STDERR.puts "Errore nell'apertura della configurazione."
end

Questo frammento di codice reindirizza stderr su un file chiamato error.log, e tutti gli errori scritti successivamente verranno inviati lì fino a quando il programma non reimposta il reindirizzamento di stderr o termina.

Utilizzare stderr con la gestione delle eccezioni:

begin
  # Simulazione di un'operazione che potrebbe fallire, ad es., aprire un file
  File.open('file_inesistente.txt')
rescue Exception => e
  STDERR.puts "Eccezione generata: #{e.message}"
end

Esempio di output (su stderr):

Eccezione generata: Nessun file o directory @ rb_sysopen - file_inesistente.txt

Sebbene i metodi integrati in Ruby per scrivere su stderr siano sufficienti per molte applicazioni, per esigenze di logging più complesse, si potrebbe considerare l’uso della libreria standard logger o di gemme esterne come Log4r. Questi forniscono meccanismi di logging configurabili, inclusi livelli di severità, formattazione e la capacità di scrivere su varie uscite, inclusi file, email e altro.