Sha256: 6184a8b16a8ddd70e8b422b44dad9cb2551df5606b4a8dd3ef0fc072b9e57082

Contents?: true

Size: 885 Bytes

Versions: 2

Compression:

Stored size: 885 Bytes

Contents

class Logasm
  module Adapters
    class StdoutJsonAdapter
      def initialize(level, service_name, *)
        @level = level
        @service_name = service_name
        @application_name = Utils.application_name(service_name)
      end

      def log(level, metadata = {})
        if meets_threshold?(level)
          message = Utils.build_event(metadata, level, @application_name)
          STDOUT.puts(Utils.generate_json(message))
        end
      end

      def debug?
        meets_threshold?(:debug)
      end

      def info?
        meets_threshold?(:info)
      end

      def warn?
        meets_threshold?(:warn)
      end

      def error?
        meets_threshold?(:error)
      end

      def fatal?
        meets_threshold?(:fatal)
      end

      private

      def meets_threshold?(level)
        LOG_LEVELS.index(level.to_s) >= @level
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
logasm-jruby-1.2.0 lib/logasm/adapters/stdout_json_adapter.rb
logasm-1.2.0 lib/logasm/adapters/stdout_json_adapter.rb