Sha256: fc8733a57f537cf47d28923bb9ad1e741f5b5a771b7fd6c8a968ce3fb9264bf2

Contents?: true

Size: 968 Bytes

Versions: 16

Compression:

Stored size: 968 Bytes

Contents

module Lita
  # Creates a Logger with the proper configuration.
  module Logger
    class << self
      # Creates a new {::Logger} outputting to standard error with the given
      # severity level and a custom format.
      # @param level [Symbol, String] The name of the log level to use.
      # @return [::Logger] The {::Logger} object.
      def get_logger(level)
        logger = ::Logger.new(STDERR)
        logger.level = get_level_constant(level)
        logger.formatter = proc do |severity, datetime, _progname, msg|
          "[#{datetime.utc}] #{severity}: #{msg}\n"
        end
        logger
      end

      private

      # Gets the Logger constant for the given severity level.
      def get_level_constant(level)
        if level
          begin
            ::Logger.const_get(level.to_s.upcase)
          rescue NameError
            return ::Logger::INFO
          end
        else
          ::Logger::INFO
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
lita-4.3.2 lib/lita/logger.rb
lita-4.3.1 lib/lita/logger.rb
lita-4.3.0 lib/lita/logger.rb
lita-4.2.1 lib/lita/logger.rb
lita-4.2.0 lib/lita/logger.rb
lita-4.1.0 lib/lita/logger.rb
lita-4.0.4 lib/lita/logger.rb
lita-4.0.3 lib/lita/logger.rb
lita-4.0.2 lib/lita/logger.rb
lita-4.0.1 lib/lita/logger.rb
lita-4.0.0 lib/lita/logger.rb
lita-4.0.0.rc2 lib/lita/logger.rb
lita-4.0.0.rc1 lib/lita/logger.rb
lita-3.3.1 lib/lita/logger.rb
lita-3.3.0 lib/lita/logger.rb
lita-3.2.0 lib/lita/logger.rb