Class: Logz::LoggerWrapper
- Inherits:
-
Object
- Object
- Logz::LoggerWrapper
- Defined in:
- lib/logz/logger_wrapper.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
Returns the value of attribute logger.
Instance Method Summary collapse
- #color(color_name) ⇒ Object
- #has_level?(level) ⇒ Boolean
-
#initialize(logger) ⇒ LoggerWrapper
constructor
A new instance of LoggerWrapper.
- #method_missing(m, *args, &block) ⇒ Object
- #reset ⇒ Object
-
#tagged(tags) ⇒ Object
(also: #tag)
user_id: 1.
Constructor Details
#initialize(logger) ⇒ LoggerWrapper
Returns a new instance of LoggerWrapper.
5 6 7 8 |
# File 'lib/logz/logger_wrapper.rb', line 5 def initialize(logger) @logger = Logger.new(logger) reset end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(m, *args, &block) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/logz/logger_wrapper.rb', line 39 def method_missing(m, *args, &block) if has_level?(m) logger.send(m, to_output(args.first)) reset elsif logger.respond_to?(m) logger.send(m, *args) elsif Rainbow::X11ColorNames::NAMES.include?(m) @color = m.to_sym self else super end end |
Instance Attribute Details
#logger ⇒ Object
Returns the value of attribute logger.
3 4 5 |
# File 'lib/logz/logger_wrapper.rb', line 3 def logger @logger end |
Instance Method Details
#color(color_name) ⇒ Object
15 16 17 18 |
# File 'lib/logz/logger_wrapper.rb', line 15 def color(color_name) @color = color_name self end |
#has_level?(level) ⇒ Boolean
33 34 35 |
# File 'lib/logz/logger_wrapper.rb', line 33 def has_level?(level) Logz.config.levels.include?(level) end |
#reset ⇒ Object
10 11 12 13 |
# File 'lib/logz/logger_wrapper.rb', line 10 def reset @tags = [] @color = nil end |
#tagged(tags) ⇒ Object Also known as: tag
user_id: 1
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/logz/logger_wrapper.rb', line 21 def tagged() if .is_a?(Hash) @tags << .map { |k, v| "[#{k&.upcase}=#{v}]" }.join(" ") elsif .is_a?(Array) @tags << .map { |v| "[#{v&.upcase}]" }.join(" ") else @tags << "[#{.to_s&.upcase}]" end self end |