Class: D13n::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/d13n/logger.rb,
lib/d13n/logger/log_once.rb,
lib/d13n/logger/null_logger.rb,
lib/d13n/logger/memory_logger.rb

Defined Under Namespace

Modules: LogOnce Classes: MemoryLogger, NullLogger, SilenceLogger, StartupLogger

Instance Method Summary collapse

Constructor Details

#initialize(root = "STDOUT", override_logger = nil) ⇒ Logger

Returns a new instance of Logger.



22
23
24
25
26
27
28
29
30
# File 'lib/d13n/logger.rb', line 22

def initialize(root="STDOUT", override_logger=nil)
  @root = root
  
  create_logger(@root, override_logger)
  set_log_level!
  set_log_format!
  
  gather_startup_logs
end

Instance Method Details

#debug(*msgs, &blk) ⇒ Object



48
49
50
# File 'lib/d13n/logger.rb', line 48

def debug(*msgs, &blk)
  format_and_send(:debug, msgs, &blk)
end

#error(*msgs, &blk) ⇒ Object



40
41
42
# File 'lib/d13n/logger.rb', line 40

def error(*msgs, &blk)
  format_and_send(:error, msgs, &blk)
end

#fatal(*msgs, &blk) ⇒ Object



44
45
46
# File 'lib/d13n/logger.rb', line 44

def fatal(*msgs, &blk)
  format_and_send(:fatal, msgs, &blk)
end

#formatterObject



68
69
70
# File 'lib/d13n/logger.rb', line 68

def formatter
  @log.formatter
end

#info(*msgs, &blk) ⇒ Object



32
33
34
# File 'lib/d13n/logger.rb', line 32

def info(*msgs, &blk)
  format_and_send(:info, msgs, &blk)
end

#log_exception(level, e, backtrace_level = level) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/d13n/logger.rb', line 56

def log_exception(level, e, backtrace_level=level)
  @log.send(level, "%p: %s" % [ e.class, e.message ])
  @log.send(backtrace_level) do
    backtrace = backtrace_from_exception(e)
    if backtrace
      "Debugging backtrace:\n" + backtrace.join("\n  ")
    else
      "No backtrace available."
    end
  end
end

#log_formatter=(formatter) ⇒ Object



52
53
54
# File 'lib/d13n/logger.rb', line 52

def log_formatter=(formatter)
  @log.formatter = formatter
end

#warn(*msgs, &blk) ⇒ Object



36
37
38
# File 'lib/d13n/logger.rb', line 36

def warn(*msgs, &blk)
  format_and_send(:warn, msgs, &blk)
end