Class: Librato::Rack::Logger
- Inherits:
-
Object
- Object
- Librato::Rack::Logger
- Defined in:
- lib/librato/rack/logger.rb
Overview
Wraps an available logger object and provides convenience methods for logging using a separate set of log levels
Constant Summary collapse
- LOG_LEVELS =
[:off, :error, :warn, :info, :debug, :trace]
Instance Attribute Summary collapse
-
#outlet ⇒ Object
Returns the value of attribute outlet.
-
#prefix ⇒ Object
Returns the value of attribute prefix.
Instance Method Summary collapse
-
#initialize(outlet = nil) ⇒ Logger
constructor
A new instance of Logger.
- #log(level, message = nil, &block) ⇒ Object
- #log_level ⇒ Object
-
#log_level=(level) ⇒ Object
set log level to any of LOG_LEVELS.
Constructor Details
#initialize(outlet = nil) ⇒ Logger
Returns a new instance of Logger.
14 15 16 17 18 |
# File 'lib/librato/rack/logger.rb', line 14 def initialize(outlet=nil) @buffer = [] self.outlet = outlet self.prefix = '' end |
Instance Attribute Details
#outlet ⇒ Object
Returns the value of attribute outlet.
12 13 14 |
# File 'lib/librato/rack/logger.rb', line 12 def outlet @outlet end |
#prefix ⇒ Object
Returns the value of attribute prefix.
11 12 13 |
# File 'lib/librato/rack/logger.rb', line 11 def prefix @prefix end |
Instance Method Details
#log(level, message = nil, &block) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/librato/rack/logger.rb', line 26 def log(level, =nil, &block) return unless should_log?(level) = prefix + ( || block.call) if outlet.nil? buffer(level, ) else write_to_outlet(level, ) end end |
#log_level ⇒ Object
47 48 49 |
# File 'lib/librato/rack/logger.rb', line 47 def log_level @log_level ||= :info end |
#log_level=(level) ⇒ Object
set log level to any of LOG_LEVELS
37 38 39 40 41 42 43 44 45 |
# File 'lib/librato/rack/logger.rb', line 37 def log_level=(level) level = level.to_sym if LOG_LEVELS.index(level) @log_level = level require 'pp' if should_log?(:debug) else raise InvalidLogLevel, "Invalid log level '#{level}'" end end |