Ruby:
Запис до стандартної помилки
Як зробити:
Стандартна бібліотека Ruby надає простий спосіб запису в stderr за допомогою $stderr
або STDERR
. Для цієї базової операції вам не потрібні сторонні бібліотеки.
Запис простого повідомлення в stderr:
$stderr.puts "Помилка: Файл не знайдено."
# Або еквівалентно
STDERR.puts "Помилка: Файл не знайдено."
Приклад виводу (у stderr):
Помилка: Файл не знайдено.
Перенаправлення stderr у файл:
File.open('error.log', 'w') do |file|
STDERR.reopen(file)
STDERR.puts "Не вдалося відкрити конфігурацію."
end
Цей фрагмент коду перенаправляє stderr у файл під назвою error.log
, і всі наступні записані помилки будуть виведені туди, доки програма не скине перенаправлення stderr або не завершить роботу.
Використання stderr з обробкою винятків:
begin
# Симуляція операції, яка може завершитися невдачею, наприклад, відкриття файлу
File.open('nonexistent_file.txt')
rescue Exception => e
STDERR.puts "Виникло виключення: #{e.message}"
end
Приклад виводу (у stderr):
Виникло виключення: Немає такого файлу або директорії @ rb_sysopen - nonexistent_file.txt
Хоча вбудовані методи Ruby для запису в stderr вистачає для багатьох застосувань, для більш складних потреб логування можна розглянути стандартну бібліотеку logger
або зовнішні геми, такі як Log4r
. Вони надають налаштовуємі механізми логування, включаючи рівні серйозності, форматування та можливість запису в різні виводи, включаючи файли, електронну пошту та багато іншого.