Class: Orchestrator::Logger
- Inherits:
-
Object
- Object
- Orchestrator::Logger
- Defined in:
- lib/orchestrator/logger.rb
Constant Summary collapse
- LEVEL =
{ debug: 0, info: 1, warn: 2, error: 3, fatal: 4 }.freeze
- DEFAULT_LEVEL =
- TODO
-
Make this a config item
1
Instance Attribute Summary collapse
-
#level ⇒ Object
Returns the value of attribute level.
Instance Method Summary collapse
-
#add(listener) ⇒ Object
Add listener.
- #debug(msg) ⇒ Object
- #delete(listener) ⇒ Object
- #error(msg) ⇒ Object
- #fatal(msg) ⇒ Object
- #info(msg) ⇒ Object
-
#initialize(loop, mod) ⇒ Logger
constructor
A new instance of Logger.
- #print_error(e, msg = '', trace = nil) ⇒ Object
- #warn(msg) ⇒ Object
Constructor Details
#initialize(loop, mod) ⇒ Logger
Returns a new instance of Logger.
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/orchestrator/logger.rb', line 19 def initialize(loop, mod) @loop = loop @mod_id = mod.id if mod.respond_to? :dependency @klass = mod.dependency.class_name else @klass = 'User' # Filter by user driven events and behavior end @level = DEFAULT_LEVEL @listeners = Set.new @logger = ::Orchestrator::Control.instance.logger end |
Instance Attribute Details
#level ⇒ Object
Returns the value of attribute level.
35 36 37 |
# File 'lib/orchestrator/logger.rb', line 35 def level @level end |
Instance Method Details
#add(listener) ⇒ Object
Add listener
38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/orchestrator/logger.rb', line 38 def add(listener) @loop.schedule do @listeners.add listener end listener.promise.finally do @loop.schedule do @listeners.delete listener end end listener end |
#debug(msg) ⇒ Object
60 61 62 63 64 |
# File 'lib/orchestrator/logger.rb', line 60 def debug(msg) if @level <= 0 log(:debug, msg) end end |
#delete(listener) ⇒ Object
50 51 52 53 54 55 56 57 |
# File 'lib/orchestrator/logger.rb', line 50 def delete(listener) @loop.schedule do @listeners.delete listener if @listeners.size == 0 level = DEFAULT_LEVEL # back to efficient logging end end end |
#error(msg) ⇒ Object
78 79 80 81 82 |
# File 'lib/orchestrator/logger.rb', line 78 def error(msg) if @level <= 3 log(:error, msg) end end |
#fatal(msg) ⇒ Object
84 85 86 87 88 |
# File 'lib/orchestrator/logger.rb', line 84 def fatal(msg) if @level <= 4 log(:fatal, msg) end end |
#info(msg) ⇒ Object
66 67 68 69 70 |
# File 'lib/orchestrator/logger.rb', line 66 def info(msg) if @level <= 1 log(:info, msg) end end |
#print_error(e, msg = '', trace = nil) ⇒ Object
90 91 92 93 94 95 |
# File 'lib/orchestrator/logger.rb', line 90 def print_error(e, msg = '', trace = nil) msg << "\n#{e.}" msg << "\n#{e.backtrace.join("\n")}" if e.respond_to?(:backtrace) && e.backtrace msg << "\nCaller backtrace:\n#{trace.join("\n")}" if trace error(msg) end |
#warn(msg) ⇒ Object
72 73 74 75 76 |
# File 'lib/orchestrator/logger.rb', line 72 def warn(msg) if @level <= 2 log(:warn, msg) end end |