Sha256: a3b355e0b036be5cec8a4ec8d2a6035dc6915cd5e3426bcb4cae2b33010ea880

Contents?: true

Size: 626 Bytes

Versions: 1

Compression:

Stored size: 626 Bytes

Contents

module Rails
  module LabeledLog
    class Logger
      attr_reader :labels

      def initialize(*labels)
        @labels = labels
      end

      LabeledLog::LEVELS.each do |level|
        define_method(level) do |message, *additional_labels|
          log(level, message, additional_labels)
        end
      end

      private

      def log(level, message, *additional_labels)
        Rails.logger.tagged(*(labels + additional_labels)) do
          Rails.logger.send(level, format_message(message))
        end
      end

      def format_message(message)
        "#{message} at #{Time.now}"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails-labeled_log-0.1.0 lib/rails/labeled_log/logger.rb