Sha256: 639c18e6ce79595fec37ac8b0da4ba2e43dd4f12aa518e0f16ac32fd75b673a1

Contents?: true

Size: 1.37 KB

Versions: 27

Compression:

Stored size: 1.37 KB

Contents

# The base formatter
module PierLogging
  module Formatter
    class Base < Ougai::Formatters::Base
      include Ougai::Formatters::ForJson
      
      def initialize(app_name = nil, hostname = nil, opts = {})
        aname, hname, opts = Ougai::Formatters::Base.parse_new_params([app_name, hostname, opts])
        super(aname, hname, opts)
      end

      def get_message(data)
        # Use `message` (besides `msg` - ougai default) as the message field
        if data.is_a?(Hash)
          msg = data.delete(:msg)
          data[:message] = msg if !data[:message]
        end
        data.delete(:message)
      end

      def get_message_type(data)
        data.delete(:type) || 'default'
      end

      def get_log_content(severity, time, message, message_type, data)
        dump({
          env: PierLogging.logger_configuration.env,
          app: PierLogging.logger_configuration.app_name,
          level: severity.downcase,
          timestamp: time,
          message: message,
          type: message_type,
        }.merge({ fields: data }))
      end

      def _call(severity, time, progname, data)
        message = get_message(data)
        message_type = get_message_type(data)
        get_log_content(severity, time, message, message_type, data)
      end

      def convert_time(data)
        data[:timestamp] = data[:timestamp].utc.iso8601(3)
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
pier_logging-0.4.3 lib/pier_logging/formatter/base.rb
pier_logging-0.4.2 lib/pier_logging/formatter/base.rb
pier_logging-0.4.1 lib/pier_logging/formatter/base.rb
pier_logging-0.3.3 lib/pier_logging/formatter/base.rb
pier_logging-0.3.2 lib/pier_logging/formatter/base.rb
pier_logging-0.3.1 lib/pier_logging/formatter/base.rb
pier_logging-0.3.0 lib/pier_logging/formatter/base.rb
pier_logging-0.2.5 lib/pier_logging/formatter/base.rb
pier_logging-0.2.4 lib/pier_logging/formatter/base.rb
pier_logging-0.2.3 lib/pier_logging/formatter/base.rb
pier_logging-0.2.2 lib/pier_logging/formatter/base.rb
pier_logging-0.2.1 lib/pier_logging/formatter/base.rb
pier_logging-0.2.0 lib/pier_logging/formatter/base.rb
pier_logging-0.1.15 lib/pier_logging/formatter/base.rb
pier_logging-0.1.14 lib/pier_logging/formatter/base.rb
pier_logging-0.1.13 lib/pier_logging/formatter/base.rb
pier_logging-0.1.12 lib/pier_logging/formatter/base.rb
pier_logging-0.1.11 lib/pier_logging/formatter/base.rb
pier_logging-0.1.10 lib/pier_logging/formatter/base.rb
pier_logging-0.1.9 lib/pier_logging/formatter/base.rb