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 LogWrapper 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
60 61 62 63 64 65 66 67 68 |
# File 'lib/alexandria/logging.rb', line 60 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 37 38 |
# 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 category = "#{category} #{progname}" if progname super(severity, , category, &block) end |
#debug(source = nil, progname = nil, &block) ⇒ Object
40 41 42 |
# File 'lib/alexandria/logging.rb', line 40 def debug(source = nil, progname = nil, &block) add(DEBUG, nil, source, progname, &block) end |
#error(source = nil, progname = nil, &block) ⇒ Object
52 53 54 |
# File 'lib/alexandria/logging.rb', line 52 def error(source = nil, progname = nil, &block) add(ERROR, nil, source, progname, &block) end |
#fatal(source = nil, progname = nil, &block) ⇒ Object
56 57 58 |
# File 'lib/alexandria/logging.rb', line 56 def fatal(source = nil, progname = nil, &block) add(FATAL, nil, source, progname, &block) end |
#info(source = nil, progname = nil, &block) ⇒ Object
44 45 46 |
# File 'lib/alexandria/logging.rb', line 44 def info(source = nil, progname = nil, &block) add(INFO, nil, source, progname, &block) end |
#warn(source = nil, progname = nil, &block) ⇒ Object
48 49 50 |
# File 'lib/alexandria/logging.rb', line 48 def warn(source = nil, progname = nil, &block) add(WARN, nil, source, progname, &block) end |