Class: Alexandria::Logger
- Inherits:
-
Logger
- Object
- Logger
- Alexandria::Logger
- Defined in:
- lib/alexandria/logging.rb
Overview
A Logger subclass which accepts a source for log messages in order to improve legibility of the logs. The source should usually be self
, whether that be a Class, Module or Object. A LoggerWrapper can be used to simplify this procedure.
Class Method Summary collapse
Instance Method Summary collapse
- #add(severity, message = nil, source = nil, progname = nil, &block) ⇒ Object
- #debug(source = nil, progname = nil, &block) ⇒ Object
- #error(source = nil, progname = nil, &block) ⇒ Object
- #fatal(source = nil, progname = nil, &block) ⇒ Object
- #info(source = nil, progname = nil, &block) ⇒ Object
- #warn(source = nil, progname = nil, &block) ⇒ Object
Class Method Details
.category(source) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/alexandria/logging.rb', line 58 def self.category(source) if source.instance_of? Class "[Cls #{source.name}]" elsif source.instance_of? Module "[Mod #{source.name}]" else "<Obj #{source.class.name}>" end end |
Instance Method Details
#add(severity, message = nil, source = nil, progname = nil, &block) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/alexandria/logging.rb', line 30 def add(severity, = nil, source = nil, progname = nil, &block) return super(severity, , progname, &block) if source.nil? category = self.class.category(source) return super(severity, progname, category) unless block_given? category = "#{category} #{progname}" if progname super(severity, , category, &block) end |
#debug(source = nil, progname = nil, &block) ⇒ Object
38 39 40 |
# File 'lib/alexandria/logging.rb', line 38 def debug(source = nil, progname = nil, &block) add(DEBUG, nil, source, progname, &block) end |
#error(source = nil, progname = nil, &block) ⇒ Object
50 51 52 |
# File 'lib/alexandria/logging.rb', line 50 def error(source = nil, progname = nil, &block) add(ERROR, nil, source, progname, &block) end |
#fatal(source = nil, progname = nil, &block) ⇒ Object
54 55 56 |
# File 'lib/alexandria/logging.rb', line 54 def fatal(source = nil, progname = nil, &block) add(FATAL, nil, source, progname, &block) end |
#info(source = nil, progname = nil, &block) ⇒ Object
42 43 44 |
# File 'lib/alexandria/logging.rb', line 42 def info(source = nil, progname = nil, &block) add(INFO, nil, source, progname, &block) end |
#warn(source = nil, progname = nil, &block) ⇒ Object
46 47 48 |
# File 'lib/alexandria/logging.rb', line 46 def warn(source = nil, progname = nil, &block) add(WARN, nil, source, progname, &block) end |