Sha256: 3c4f2490c4ddc25704fbd43db360cc88717a5bad509fe28e74128b8a43af8c4e

Contents?: true

Size: 724 Bytes

Versions: 11

Compression:

Stored size: 724 Bytes

Contents

module Startback
  module Audit
    class TraceLogger

      def initialize(logger = default_logger)
        @logger = logger || default_logger
        @logger.formatter ||= Support::LogFormatter.new if @logger.respond_to?(:formatter=)
      end

      def call(span)
        if !span.finished?
          @logger.debug(span.to_h)
        elsif span.success?
          @logger.info(span.to_h)
        elsif span&.error.is_a?(Startback::Errors::BadRequestError)
          @logger.warn(span.to_h)
        else
          @logger.error(span.to_h)
        end
      end

    private

      def default_logger
        ::Logger.new(STDOUT, 'daily')
      end

    end # class TraceLogger
  end # module Audit
end # module Startback

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
startback-1.0.3 lib/startback/audit/trace_logger.rb
startback-1.0.2 lib/startback/audit/trace_logger.rb
startback-1.0.1 lib/startback/audit/trace_logger.rb
startback-1.0.0 lib/startback/audit/trace_logger.rb
startback-0.19.4 lib/startback/audit/trace_logger.rb
startback-0.19.3 lib/startback/audit/trace_logger.rb
startback-0.19.1 lib/startback/audit/trace_logger.rb
startback-0.19.0 lib/startback/audit/trace_logger.rb
startback-0.18.2 lib/startback/audit/trace_logger.rb
startback-0.18.1 lib/startback/audit/trace_logger.rb
startback-0.18.0 lib/startback/audit/trace_logger.rb