Sha256: 4274cb5b9dfebacbb40575bb50b292aef2ec736024a909d837229bc112d4cd36

Contents?: true

Size: 748 Bytes

Versions: 7

Compression:

Stored size: 748 Bytes

Contents

require 'active_support'

module HermesMessengerOfTheGods
  module LoggingHelpers
    extend ActiveSupport::Concern

    included do
      Logger::Severity.constants.each do |sev|
        define_method(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

7 entries across 7 versions & 1 rubygems

Version Path
hermes_messenger_of_the_gods-2.3.2 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.3.1 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.3.0 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.2.0 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.1.1 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.1.0 lib/hermes_messenger_of_the_gods/logging_helpers.rb
hermes_messenger_of_the_gods-2.0.0 lib/hermes_messenger_of_the_gods/logging_helpers.rb