Ruby:
Écrire sur l'erreur standard

Comment faire :

La bibliothèque standard de Ruby offre une manière simple d’écrire sur stderr en utilisant $stderr ou STDERR. Vous n’avez pas besoin de bibliothèques tierces pour cette opération basique.

Écrire un message simple sur stderr :

$stderr.puts "Erreur: Fichier non trouvé."
# Ou de manière équivalente
STDERR.puts "Erreur: Fichier non trouvé."

Exemple de sortie (sur stderr) :

Erreur: Fichier non trouvé.

Rediriger stderr vers un fichier :

File.open('error.log', 'w') do |file|
  STDERR.reopen(file)
  STDERR.puts "Échec de l'ouverture de la configuration."
end

Ce morceau de code redirige stderr vers un fichier nommé error.log, et toutes les erreurs écrites subséquentes seront sorties là jusqu’à ce que le programme réinitialise la redirection de stderr ou se termine.

Utiliser stderr avec la gestion des exceptions :

begin
  # Simulant une opération qui pourrait échouer, par exemple, ouvrir un fichier
  File.open('fichier_inexistant.txt')
rescue Exception => e
  STDERR.puts "Une exception s'est produite : #{e.message}"
end

Exemple de sortie (sur stderr) :

Une exception s'est produite : Aucun fichier ou dossier de ce type @ rb_sysopen - fichier_inexistant.txt

Bien que les méthodes intégrées de Ruby pour écrire sur stderr suffisent pour de nombreuses applications, pour des besoins de journalisation plus complexes, vous pourriez envisager la bibliothèque standard logger ou des gems externes comme Log4r. Ces derniers fournissent des mécanismes de journalisation configurables, incluant les niveaux de sévérité, le formatage, et la capacité d’écrire sur diverses sorties, incluant des fichiers, des courriels, et plus encore.