Class: Zookeeper::Logger::ForwardingLogger
- Inherits:
-
Object
- Object
- Zookeeper::Logger::ForwardingLogger
- Defined in:
- lib/zookeeper/logger/forwarding_logger.rb
Overview
h/t _eric and Papertrail
Constant Summary collapse
Instance Attribute Summary collapse
-
#formatter ⇒ Object
Returns the value of attribute formatter.
-
#level ⇒ Object
Returns the value of attribute level.
Class Method Summary collapse
Instance Method Summary collapse
- #<<(msg) ⇒ Object
- #add(severity, message = nil, progname = nil, &block) ⇒ Object
- #debug(progname = nil, &block) ⇒ Object
- #debug? ⇒ Boolean
- #error(progname = nil, &block) ⇒ Object
- #error? ⇒ Boolean
- #fatal(progname = nil, &block) ⇒ Object
- #fatal? ⇒ Boolean
- #info(progname = nil, &block) ⇒ Object
- #info? ⇒ Boolean
-
#initialize(logger, options = {}) ⇒ ForwardingLogger
constructor
A new instance of ForwardingLogger.
- #unknown(progname = nil, &block) ⇒ Object
- #warn(progname = nil, &block) ⇒ Object
- #warn? ⇒ Boolean
- #write(msg) ⇒ Object
Constructor Details
#initialize(logger, options = {}) ⇒ ForwardingLogger
Returns a new instance of ForwardingLogger.
19 20 21 22 23 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 19 def initialize(logger, = {}) @level = ::Logger::DEBUG @logger = logger @formatter = [:formatter] end |
Instance Attribute Details
#formatter ⇒ Object
Returns the value of attribute formatter.
6 7 8 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 6 def formatter @formatter end |
#level ⇒ Object
Returns the value of attribute level.
6 7 8 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 6 def level @level end |
Class Method Details
.for(logger, name) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 11 def self.for(logger, name) @@mutex.synchronize do @@loggers.fetch(name) do |k| @@loggers[k] = new(logger, :formatter => lambda { |m| "%25.25s: %s" % [k, m] }) end end end |
Instance Method Details
#<<(msg) ⇒ Object
44 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 44 def <<(msg); @logger << msg; end |
#add(severity, message = nil, progname = nil, &block) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 25 def add(severity, = nil, progname = nil, &block) severity ||= ::Logger::UNKNOWN if !@logger || severity < @level return true end = ( || (block && block.call) || progname).to_s if @formatter && @formatter.respond_to?(:call) = @formatter.call() end # If a newline is necessary then create a new message ending with a newline. # Ensures that the original message is not mutated. # message = "#{message}\n" unless message[-1] == ?\n @logger.add(severity, ) end |
#debug(progname = nil, &block) ⇒ Object
47 48 49 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 47 def debug(progname = nil, &block) add(::Logger::DEBUG, nil, progname, &block) end |
#debug? ⇒ Boolean
71 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 71 def debug?; @level <= DEBUG; end |
#error(progname = nil, &block) ⇒ Object
59 60 61 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 59 def error(progname = nil, &block) add(::Logger::ERROR, nil, progname, &block) end |
#error? ⇒ Boolean
77 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 77 def error?; @level <= ERROR; end |
#fatal(progname = nil, &block) ⇒ Object
63 64 65 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 63 def fatal(progname = nil, &block) add(::Logger::FATAL, nil, progname, &block) end |
#fatal? ⇒ Boolean
79 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 79 def fatal?; @level <= FATAL; end |
#info(progname = nil, &block) ⇒ Object
51 52 53 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 51 def info(progname = nil, &block) add(::Logger::INFO, nil, progname, &block) end |
#info? ⇒ Boolean
73 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 73 def info?; @level <= INFO; end |
#unknown(progname = nil, &block) ⇒ Object
67 68 69 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 67 def unknown(progname = nil, &block) add(::Logger::UNKNOWN, nil, progname, &block) end |
#warn(progname = nil, &block) ⇒ Object
55 56 57 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 55 def warn(progname = nil, &block) add(::Logger::WARN, nil, progname, &block) end |
#warn? ⇒ Boolean
75 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 75 def warn?; @level <= WARN; end |
#write(msg) ⇒ Object
45 |
# File 'lib/zookeeper/logger/forwarding_logger.rb', line 45 def write(msg); @logger.write(msg); end |