Sha256: cdfcf620e52d01694d789ce4457fc64ba54b9422e12dfeff3c1e11f6010aac26

Contents?: true

Size: 956 Bytes

Versions: 5

Compression:

Stored size: 956 Bytes

Contents

# frozen_string_literal: true
require 'active_support'

module FluentLoggerRails
  class Logger < ::ActiveSupport::Logger
    def initialize(logger, path:, level:)
      @level = SEV_LABEL.index(level.to_s.upcase)
      @path = path
      @logger = logger
      after_initialize if respond_to?(:after_initialize) && ActiveSupport::VERSION::MAJOR < 6
    end

    def add(severity, message = nil, progname = nil)
      return true if severity < @level

      message = (block_given? ? yield : progname) if message.blank?
      return true if message.blank?

      message = format_message(severity, Time.zone.now, progname, message)

      @logger.post(@path, message)
      true
    end

    def close
      @logger.close
    end

    delegate :add_tags, :remove_tags, :clear_tags!, to: :formatter

    def tagged(*tags)
      formatter.tagged(*tags) { yield self }
    end

    def flush
      clear_tags!
      super if defined?(super)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fluent_logger_rails-0.7.0 lib/fluent_logger_rails/logger.rb
fluent_logger_rails-0.6.0 lib/fluent_logger_rails/logger.rb
fluent_logger_rails-0.5.0 lib/fluent_logger_rails/logger.rb
fluent_logger_rails-0.4.0 lib/fluent_logger_rails/logger.rb
fluent_logger_rails-0.3.1 lib/fluent_logger_rails/logger.rb