Sha256: 0c25326fa6598d4dcb22c7e05a4a24b3778f15dfbbd27d37d62bc817506c9921

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

require 'trifle/logger/configuration'
require 'trifle/logger/tracer/hash'
require 'trifle/logger/tracer/null'
require 'trifle/logger/middleware/rack'
require 'trifle/logger/middleware/rails_controller'
require 'trifle/logger/middleware/sidekiq'
require 'trifle/logger/version'

module Trifle
  module Logger
    class Error < StandardError; end
    # Your code goes here...

    def self.default
      @default ||= Configuration.new
    end

    def self.configure
      yield(default)

      default
    end

    def self.tracer=(tracer)
      Thread.current[:trifle_tracer] = tracer
    end

    def self.tracer
      Thread.current[:trifle_tracer]
    end

    def self.trace(*args, **keywords, &block)
      if tracer.nil?
        return block_given? ? yield : nil
      end

      tracer.trace(*args, **keywords, &block)
    end

    def self.tag(tag)
      return unless tracer

      tracer.tag(tag)
    end

    def self.artifact(name, path)
      return unless tracer

      tracer.artifact(name, path)
    end

    def self.fail!
      return unless tracer

      tracer.fail!
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
trifle-logger-0.1.2 lib/trifle/logger.rb
trifle-logger-0.1.1 lib/trifle/logger.rb
trifle-logger-0.1.0 lib/trifle/logger.rb