Ruby Net-SFTP перехват и регистрация исключений

У меня есть простой сценарий SFTP, который я тестирую для подключения к серверу и загрузки файла или файлов с определенной датой в имени файла.

Я использую rufus/scheduler для запуска части скрипта SFTP каждые X минут, чтобы увидеть, есть ли новый файл на сервере.

Кажется, все работает, пока я не умышленно форсирую ошибку, например, предоставлю неверные учетные данные Затем я хочу иметь возможность зафиксировать точную ошибку или исключение и зарегистрировать его с помощью регистратора. Я не получаю подробную информацию об ошибке или неправильно использую команду восстановления:

scheduler = Rufus::Scheduler::PlainScheduler.start_new(:frequency => 3.0)
log = Logger.new('sftp.log')
log.level = Logger::INFO

begin
log.info 'starting sftp'
  Net::SFTP.start(HOST, ID, :password => PW ) do |sftp|
   sftp.dir.glob("./", "20120820*") do |entry|
     puts entry.name
     file = entry.name
     success = sftp.download!(file, file)
   end
  end   
rescue Exception => e
  puts e.message          # Human readable error
  log.error ("SFTP exception occured: " + e.message)
end
scheduler.join

1 ответ

Делает добавление :verbose => Logger::DEBUG Работа?

Net::SFTP.start(HOST, ID, :password => PW, :verbose => Logger::DEBUG ) do |sftp|
Другие вопросы по тегам