Ruby:
Escribiendo en el error estándar
Cómo hacerlo:
La biblioteca estándar de Ruby proporciona una manera sencilla de escribir en stderr usando $stderr
o STDERR
. No necesitas bibliotecas de terceros para esta operación básica.
Escribiendo un mensaje simple a stderr:
$stderr.puts "Error: Archivo no encontrado."
# O de manera equivalente
STDERR.puts "Error: Archivo no encontrado."
Salida de muestra (a stderr):
Error: Archivo no encontrado.
Redirigiendo stderr a un archivo:
File.open('error.log', 'w') do |file|
STDERR.reopen(file)
STDERR.puts "Fallo al abrir configuración."
end
Este fragmento de código redirige stderr a un archivo llamado error.log
, y todos los errores escritos subsiguientes serán dirigidos allí hasta que el programa restablezca la redirección de stderr o termine.
Usando stderr con manejo de excepciones:
begin
# Simulando una operación que podría fallar, por ejemplo, abrir un archivo
File.open('archivo_inexistente.txt')
rescue Exception => e
STDERR.puts "Ocurrió una excepción: #{e.message}"
end
Salida de muestra (a stderr):
Ocurrió una excepción: No such file or directory @ rb_sysopen - archivo_inexistente.txt
Aunque los métodos integrados de Ruby para escribir en stderr son suficientes para muchas aplicaciones, para necesidades de registro más complejas, podrías considerar la biblioteca estándar logger
o gemas externas como Log4r
. Estas proporcionan mecanismos de registro configurables, incluyendo niveles de severidad, formatos, y la capacidad de escribir en varias salidas, incluyendo archivos, correo electrónico, y más.