Sha256: acb760995111f6af4f89c33dd6f1de0b0ea968830b4cd35f8f33e7d11440cb43

Contents?: true

Size: 1.18 KB

Versions: 4

Compression:

Stored size: 1.18 KB

Contents

require "rorvswild/version"
require "rorvswild/location"
require "rorvswild/section"
require "rorvswild/client"
require "rorvswild/plugins"
require "rorvswild/queue"
require "rorvswild/agent"

module RorVsWild
  def self.start(config)
    @logger = initialize_logger(config[:logger])
    @agent = Agent.new(config)
  rescue Exception => ex
    logger.error(ex)
    raise
  end

  def self.agent
    @agent
  end

  def self.logger
    @logger ||= Logger.new(STDOUT)
  end

  def self.measure_code(code)
    agent ? agent.measure_code(code) : eval(code)
  end

  def self.measure_block(name, &block)
    agent ? agent.measure_block(name , &block) : block.call
  end

  def self.catch_error(extra_details = nil, &block)
    agent ? agent.catch_error(extra_details, &block) : block.call
  end

  def self.record_error(exception, extra_details = nil)
    agent.record_error(exception, extra_details) if agent
  end

  def self.initialize_logger(destination)
    if destination
      Logger.new(destination)
    elsif defined?(Rails)
      Logger.new(Rails.root + "log/rorvswild.log")
    end
  end
end

if defined?(Rails)
  require "rorvswild/rails_loader"
  RorVsWild::RailsLoader.start_on_rails_initialization
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rorvswild-1.3.0 lib/rorvswild.rb
rorvswild-1.2.0 lib/rorvswild.rb
rorvswild-1.1.1 lib/rorvswild.rb
rorvswild-1.1.0 lib/rorvswild.rb