【问题标题】:Sinatra Logger for Web Service Errors用于 Web 服务错误的 Sinatra 记录器
【发布时间】:2012-02-01 17:57:22
【问题描述】:

我正在使用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。它为我产生了错误,我假设它这样做是因为我正在登录一个方法而不是一个路由?

使用Sinatra::Application 在某些日志文件中捕获errorssuccess 的最佳方法是什么

【问题讨论】:

    标签: ruby logging error-handling sinatra


    【解决方案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来记录。

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

    【讨论】:

    • 我会在helpersbefore do 中放入前6 行代码吗?
    • 没有此代码将作为文件的一部分,在任何方法之外。如果您正在使用 Sinatra 的模块化风格,请使其成为课程的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2014-10-21
    • 2011-03-28
    相关资源
    最近更新 更多