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|