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



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

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

.included(base) ⇒ Object



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

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



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

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

.log=(log) ⇒ Object



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

def log=(log)
  @log = log
end

.log_levelObject



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

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

.loggerObject



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

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

.logger_for(prefix) ⇒ Object



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

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



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

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

#logObject



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

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