我们如何将Net::Sftp所做的一切记录在一个文件中



如何将Net::Sftp的每个操作记录到ruby on rails中的文件中进行调试,以及如何将verbose::debug记录到日志文件中。

sftp = Net::SFTP.start(config[:host], config[:user], config[:options], verbose::debug)
files_arr = []
sftp.connect!
sftp.dir.foreach(src_dir) do |entry|
file_name = entry.name
begin
if entry.file? && (file_name.end_with?(".xml") || file_name.end_with?(".zip"))
sftp.download!(File.join(src_dir, file_name), File.join(dest_dir, file_name))
files_arr << file_name
end
rescue Exception => e
next
end
end
sftp.channel.eof!
sftp.close_channel unless sftp.closed?

我的目标是将这段代码中发生的所有事情记录到一个文件中,我该怎么做。

根据注释,您似乎想要定义一个自定义记录器,然后可以使用它将您的自定义信息记录到自己的文件中。相关environment.rb中的类似内容应该可以满足您的需要。

my_logger = Logger.new('log/my_logger.log')
my_logger.level = Logger::DEBUG

然后,您可以在代码中的相关点添加my_logger 'MESSAGE',以便将条目添加到自定义日志文件中。

最新更新