Sha256: a6df321089031ec5f4f8f8e283d540576385f7557b92a55a69ba01c337294e33

Contents?: true

Size: 545 Bytes

Versions: 2

Compression:

Stored size: 545 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|
          log(level, message)
        end
      end

      private

      def log(level, message)
        Rails.logger.tagged(*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

2 entries across 2 versions & 1 rubygems

Version Path
rails-labeled_log-0.0.2 lib/rails/labeled_log/logger.rb
rails-labeled_log-0.0.1 lib/rails/labeled_log/logger.rb