Sha256: 43e338f79597f9ef93580e81bf1207130e02534796d1cac50ca9ed78b64e6692

Contents?: true

Size: 757 Bytes

Versions: 4

Compression:

Stored size: 757 Bytes

Contents

require 'active_support'

module HermesMessengerOfTheGods
  module LoggingHelpers
    extend ActiveSupport::Concern

    included do
      Logger::Severity.constants.each do |sev|
        define_method("say_#{sev.downcase}") do |msg = nil, &blk|
          say("Logger::#{sev}".constantize, msg, &blk)
        end
      end

      def say(level, msg = nil, &blk)
        return if HermesMessengerOfTheGods.config.quiet

        [*HermesMessengerOfTheGods.config.logger].compact.each do |logger|
          logger.progname = logger.progname.tap do |_|
            logger.progname = log_message_prefix
            logger.log(level, msg, &blk)
          end
        end
      end

      def log_message_prefix
        self.class.to_s
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hermes_messenger_of_the_gods-2.4.0.pre2 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.4.0.pre1 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.3.4 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.3.3 lib/hermes_messenger_of_the_gods/logging_helpers.rb