Class: InjectedLogger::Logger
- Inherits:
-
Object
- Object
- InjectedLogger::Logger
- Defined in:
- lib/injectedlogger/logger.rb
Constant Summary collapse
- UNKNOWN =
:unknown- LOGLEVELS =
[:debug, :verbose, :notice, :info, :warn, :error, :critical, :fatal, :unknown]
Instance Attribute Summary collapse
-
#after_hook ⇒ Object
Returns the value of attribute after_hook.
-
#fallback ⇒ Object
Returns the value of attribute fallback.
-
#level_info ⇒ Object
readonly
Returns the value of attribute level_info.
-
#levels ⇒ Object
Returns the value of attribute levels.
-
#prefix ⇒ Object
Returns the value of attribute prefix.
Instance Method Summary collapse
- #add_levels(*levels) ⇒ Object
- #inject(logger_obj, levels: LOGLEVELS, fallback: UNKNOWN, prefix: nil) ⇒ Object
- #inject!(logger_obj, levels: LOGLEVELS, fallback: UNKNOWN, prefix: nil) ⇒ Object
- #injected? ⇒ Boolean
- #method_missing(method, *args, &blk) ⇒ Object
- #respond_to_missing?(method, priv = false) ⇒ Boolean
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &blk) ⇒ Object
76 77 78 79 80 |
# File 'lib/injectedlogger/logger.rb', line 76 def method_missing(method, *args, &blk) logger.send method, *args, &blk rescue NoMethodError super end |
Instance Attribute Details
#after_hook ⇒ Object
Returns the value of attribute after_hook.
33 34 35 |
# File 'lib/injectedlogger/logger.rb', line 33 def after_hook @after_hook end |
#fallback ⇒ Object
Returns the value of attribute fallback.
32 33 34 |
# File 'lib/injectedlogger/logger.rb', line 32 def fallback @fallback end |
#level_info ⇒ Object
Returns the value of attribute level_info.
32 33 34 |
# File 'lib/injectedlogger/logger.rb', line 32 def level_info @level_info end |
#levels ⇒ Object
Returns the value of attribute levels.
32 33 34 |
# File 'lib/injectedlogger/logger.rb', line 32 def levels @levels end |
#prefix ⇒ Object
Returns the value of attribute prefix.
32 33 34 |
# File 'lib/injectedlogger/logger.rb', line 32 def prefix @prefix end |
Instance Method Details
#add_levels(*levels) ⇒ Object
65 66 67 68 69 |
# File 'lib/injectedlogger/logger.rb', line 65 def add_levels(*levels) lvls = self.levels + levels lvls.uniq! self.levels = lvls end |
#inject(logger_obj, levels: LOGLEVELS, fallback: UNKNOWN, prefix: nil) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/injectedlogger/logger.rb', line 39 def inject(logger_obj, levels: LOGLEVELS, fallback: UNKNOWN, prefix: nil) if logger and logger != logger_obj raise InUse, "#{self} was already using logger #{logger}" end inject! logger_obj, levels: levels, fallback: fallback end |
#inject!(logger_obj, levels: LOGLEVELS, fallback: UNKNOWN, prefix: nil) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/injectedlogger/logger.rb', line 46 def inject!(logger_obj, levels: LOGLEVELS, fallback: UNKNOWN, prefix: nil) self.logger = logger_obj set_prefix prefix set_levels levels set_fallback fallback add_methods self end |
#injected? ⇒ Boolean
35 36 37 |
# File 'lib/injectedlogger/logger.rb', line 35 def injected? not logger.nil? end |
#respond_to_missing?(method, priv = false) ⇒ Boolean
82 83 84 |
# File 'lib/injectedlogger/logger.rb', line 82 def respond_to_missing?(method, priv = false) logger.respond_to?(method, priv) || super end |