Sha256: 98a5fcec8778e578f0b5d12cdd5c47afe497f6d24d87a33453f486622497ff56

Contents?: true

Size: 671 Bytes

Versions: 2

Compression:

Stored size: 671 Bytes

Contents

require 'logger'

module Low
  module Middleware
    class LogLevel

      DEFAULT_DEFAULT_LEVEL = Logger::INFO

      def initialize(app, opts = {})
        @app = app
        @default_level = opts[:default_level] || DEFAULT_DEFAULT_LEVEL
      end

      def call(env)
        env['low.log_level'] = log_level
        @app.call(env)
      end

      def log_level
        # If `LOG_LEVEL` is a valid level
        if ['FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG'].include? ENV['LOG_LEVEL']
          # use it;
          eval "Logger::#{ENV['LOG_LEVEL']}"
        else
          # otherwise, use the default
          @default_level
        end
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
low-0.0.12 lib/low/middleware/log_level.rb
low-0.0.11 lib/low/middleware/log_level.rb