Sinatra错误日志与哨兵集成

时间:2015-08-13 03:18:50

标签: sinatra sentry raven

以下是我的config.ru文件

require 'raven'
require './managers/log_manager.rb'

logger = LogManager.create_logger('/error.log')
logger.log(Logger::ERROR, "********** just testing **********")

puts "#{logger.inspect}"

Raven.configure do |config|
  config.dsn = 'https://secrect'
  config.logger = logger
  config.environments = 'development'
end

use Raven::Rack

只有异常才能通知。我的问题是获取错误日志数据的通知,但目前它没有。

1 个答案:

答案 0 :(得分:1)

由于Ruby没有一致的日志记录解决方案,您可能需要编写自己的处理程序。

如果日志助手给你一个事件,你可能会做这样的事情:

def my_log_helper(event)
  if event.really_is_an_exception
     Raven.capture_exception(event.message)
  else
     Raven.capture_message(event.message)
  end
end

P.S。对我可怕的红宝石感到抱歉,我不能流利

主要的是Raven试图在可能的时候变得神奇,但除此之外,它倾向于明确。

您可以通过集成执行许多其他操作,例如发送本地化上下文以及通常针对特定环境的内容,但基本操作大多是直截了当的。