Module: Hoodie::Logging

Defined in:
lib/hoodie/logging.rb

Defined Under Namespace

Classes: NoLogger

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.demodulize(class_name_in_module) ⇒ Object



41
42
43
# File 'lib/hoodie/logging.rb', line 41

def demodulize(class_name_in_module)
  class_name_in_module.to_s.sub(/^.*::/, '')
end

.included(base) ⇒ Object



72
73
74
75
76
77
78
79
# File 'lib/hoodie/logging.rb', line 72

def self.included(base)
  class << base
    def log
      prefix = self.class == Class ? self.to_s : self.class.to_s
      Hoodie::Logging.log(demodulize(prefix))
    end
  end
end

.log(prefix) ⇒ Object



45
46
47
# File 'lib/hoodie/logging.rb', line 45

def log(prefix)
  @loggers[prefix] ||= logger_for(prefix)
end

.log=(log) ⇒ Object



59
60
61
# File 'lib/hoodie/logging.rb', line 59

def log=(log)
  @log = log
end

.log_levelObject



67
68
69
# File 'lib/hoodie/logging.rb', line 67

def log_level
  "Logger::#{Hoodie.configuration.level.to_s.upcase}"
end

.loggerObject



63
64
65
# File 'lib/hoodie/logging.rb', line 63

def logger
  Hoodie.configuration.logging ? Logger.new($stdout) : NoLogger.new
end

.logger_for(prefix) ⇒ Object



49
50
51
52
53
54
55
56
57
# File 'lib/hoodie/logging.rb', line 49

def logger_for(prefix)

  log = logger
  log.progname = prefix
  log.formatter = Hoodie::Formatter.new
  log.formatter.datetime_format = '%F %T'
  log.level = eval(log_level)
  log
end

Instance Method Details

#demodulize(class_name_in_module) ⇒ Object



27
28
29
# File 'lib/hoodie/logging.rb', line 27

def demodulize(class_name_in_module)
  class_name_in_module.to_s.sub(/^.*::/, '')
end

#logObject



81
82
83
84
# File 'lib/hoodie/logging.rb', line 81

def log
  prefix = self.class == Class ? self.to_s : self.class.to_s
  Hoodie::Logging.log(demodulize(prefix))
end