Sinatra Logger用于Web服务错误

时间:2012-01-03 17:58:51

标签: ruby logging error-handling sinatra

我使用的是Sinatra 1.3,而且是Sinatra::Application 我有一个获取Web服务的方法 我想记录此服务何时成功以及它在后台运行时失败的内容(cron job)

def fetch_some_web_service  
  begin  
    #if successful  
    log.info "Success"  
  rescue SocketError => e  
    log.info "Failed"
  end   
end

我似乎无法使用Sinatra logger instance。这给我带来了错误,我假设它正在这样做,因为我正在登录一个方法,而不是在路线中?

使用errors

在某些日志文件中捕获successSinatra::Application的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

我在Sinatra中使用以下代码进行日志记录

raise "Log File not specified" if log_file_location == nil
log_file = File.new(log_file_location, "a")

$stdout.reopen(log_file)
$stderr.reopen(log_file)

$stdout.sync=true
$stderr.sync=true

然后使用记录器进行记录。

logger.info("it works !!!!")