module SpiderFramework::EnhancedLogger
Attributes
level[RW]
names_only[RW]
Public Class Methods
included(base)
click to toggle source
# File lib/enhanced_logger.rb, line 11 def included(base) # 构造绑定类的 @logger 实例 base.class_eval do name = base.name names_only = EnhancedLogger.names_only if !names_only || names_only.include?(name) @logger = Logger.new(STDOUT) @logger.level = EnhancedLogger.level original_formatter = Logger::Formatter.new @logger.formatter = proc { |severity, datetime, progname, msg| "[#{datetime.strftime('%F %T')}] #{severity} -- #{name}: #{msg}\n" } else @logger = Logger.new(IO::NULL) end end base.singleton_class.class_eval do attr_accessor :logger end end
Public Instance Methods
logger()
click to toggle source
# File lib/enhanced_logger.rb, line 34 def logger self.class.logger end