2012-01-03 50 views
0

我正在使用Sinatra 1.3,它是一个Sinatra::Application
我有一个方法,提取一个Web服务。
我想登录时该服务有成功,它已经失败,因为它在后台(cron作业)运行用于Web服务错误的Sinatra记录器

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

我似乎无法使用Sinatralogger instance。它为我生成错误,我假设它是这样做的,因为我登录的方法,而不是在一个路线内?

什么是使用Sinatra::Application

回答

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 

然后用记录仪记录到捕捉一些日志文件中的errorssuccess的最佳途径。

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

是前6行代码,我会放在我的'helpers'或'do do'中吗? – alenm 2012-01-04 17:16:07

+0

没有此代码将作为文件的一部分,在任何方法之外。如果您正在使用模块化的Sinatra风格,请将其作为课程的一部分。 – randomuser 2012-01-05 08:46:00