Ruby:
Schreiben auf Standardfehler
Wie geht das:
Die Standardbibliothek von Ruby bietet eine unkomplizierte Möglichkeit, auf stderr zu schreiben, und zwar mit $stderr
oder STDERR
. Für diesen grundlegenden Vorgang sind keine Drittanbieterbibliotheken erforderlich.
Eine einfache Nachricht auf stderr schreiben:
$stderr.puts "Fehler: Datei nicht gefunden."
# Oder gleichwertig
STDERR.puts "Fehler: Datei nicht gefunden."
Beispielausgabe (auf stderr):
Fehler: Datei nicht gefunden.
Umleitung von stderr in eine Datei:
File.open('error.log', 'w') do |file|
STDERR.reopen(file)
STDERR.puts "Fehler beim Öffnen der Konfiguration."
end
Dieser Codeausschnitt leitet stderr in eine Datei namens error.log
um, und alle nachfolgend geschriebenen Fehler werden dort ausgegeben, bis das Programm die Umleitung von stderr zurücksetzt oder beendet.
Verwendung von stderr bei der Ausnahmebehandlung:
begin
# Simulation eines Vorgangs, der fehlschlagen könnte, z. B. das Öffnen einer Datei
File.open('nonexistent_file.txt')
rescue Exception => e
STDERR.puts "Ausnahme aufgetreten: #{e.message}"
end
Beispielausgabe (auf stderr):
Ausnahme aufgetreten: No such file or directory @ rb_sysopen - nonexistent_file.txt
Obwohl die eingebauten Methoden von Ruby für das Schreiben auf stderr für viele Anwendungen ausreichen, könnte man für komplexere Protokollierungsbedürfnisse die Standardbibliothek logger
oder externe Gems wie Log4r
in Betracht ziehen. Diese bieten konfigurierbare Protokollierungsmechanismen, einschließlich Schweregradstufen, Formatierung und der Fähigkeit, auf verschiedene Ausgaben zu schreiben, einschließlich Dateien, E-Mail und mehr.