ruby - Sinatra Logger的Web服务错误

标签 ruby logging error-handling sinatra

我正在使用Sinatra 1.3,它是Sinatra::Application
我有一种获取Web服务的方法。
我想记录该服务何时成功以及它在后台运行(cron作业)失败的原因

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的最佳方法是什么

最佳答案

我在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 !!!!")

关于ruby - Sinatra Logger的Web服务错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8716595/

相关文章:

javascript - 使用 Ruby on Rails session 过期时如何重新加载或刷新页面

javascript - 如何找到元素的正确水平和垂直偏移量?

python - Spyder IDE 中的重复日志条目和锁定的日志文件

python - 如何将错误记录到文件中,并且不会因异常而失败

java - 重定向 Maven3 Mojo 中的公共(public)日志输出

haskell - 与管道(-core)一起使用什么错误处理方法?

ruby-on-rails - 具有多个关联的 Rails 委托(delegate)方法

ruby-on-rails - 从 Rails 中的 gem 覆盖模块方法

Jquery ajax 请求失败并显示空错误消息

zend-framework - 在Zend View Helper中处理错误