class RootLogger::ClassLogger
Attributes
root_logger[R]
Public Class Methods
new(root_logger, class_obj)
click to toggle source
# File lib/unicorn-cuba-base/root_logger.rb, line 8 def initialize(root_logger, class_obj) @root_logger = root_logger @class_name = class_obj.name end
Public Instance Methods
inspect()
click to toggle source
# File lib/unicorn-cuba-base/root_logger.rb, line 43 def inspect "#<ClassLogger[#{@progname}] #{"0x%X" % object_id} root_logger=#{@root_logger.inspect}>" end
method_missing(name, *args, &block)
click to toggle source
# File lib/unicorn-cuba-base/root_logger.rb, line 17 def method_missing(name, *args, &block) if @@levels.include? name root_logger = @root_logger.with_meta('className' => @class_name) if block root_logger.send(name, &block) else message = args.first if args.last.is_a? Exception error = args.last root_logger = root_logger.with_meta('exceptionClass' => error.class.name) message = "#{message}: #{error.class.name}: #{error.message}\n#{error.backtrace.join("\n")}" end # log with class name root_logger.send(name, message.chomp, &block) end else # forward to root logger @root_logger.send(name, *args, &block) end end
respond_to?(method)
click to toggle source
Calls superclass method
# File lib/unicorn-cuba-base/root_logger.rb, line 13 def respond_to?(method) super or @root_logger.respond_to? method end