Class: LogDecorator::LogProxy
- Inherits:
-
Object
- Object
- LogDecorator::LogProxy
- Defined in:
- lib/log_decorator/log_proxy.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
Returns the value of attribute logger.
-
#prefix ⇒ Object
Returns the value of attribute prefix.
Class Method Summary collapse
-
.initialize_log_levels ⇒ Object
rubocop:disable AbcSize.
Instance Method Summary collapse
-
#initialize(klass, separator) ⇒ LogProxy
constructor
A new instance of LogProxy.
- #level ⇒ Object
- #level=(level) ⇒ Object
- #log_backtrace ⇒ Object
Constructor Details
#initialize(klass, separator) ⇒ LogProxy
Returns a new instance of LogProxy.
30 31 32 33 34 35 36 |
# File 'lib/log_decorator/log_proxy.rb', line 30 def initialize(klass, separator) self.class.initialize_log_levels @klass = klass @separator = separator @prefix = LogDecorator.prefix @logger = LogDecorator.logger end |
Instance Attribute Details
#logger ⇒ Object
Returns the value of attribute logger.
3 4 5 |
# File 'lib/log_decorator/log_proxy.rb', line 3 def logger @logger end |
#prefix ⇒ Object
Returns the value of attribute prefix.
3 4 5 |
# File 'lib/log_decorator/log_proxy.rb', line 3 def prefix @prefix end |
Class Method Details
.initialize_log_levels ⇒ Object
rubocop:disable AbcSize
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/log_decorator/log_proxy.rb', line 5 def self.initialize_log_levels # rubocop:disable AbcSize return if @log_levels_initialized @log_levels_initialized = true LogDecorator.log_levels.each do |level| define_method(level) do |msg = nil, &blk| return unless logger # rubocop:disable Lint/NonLocalExitFromIterator location = caller_locations(1, 1) if blk logger.send(level) do "#{@prefix.call(@klass, @separator, location)} #{blk.call}" end else logger.send(level, "#{@prefix.call(@klass, @separator, location)} #{msg}") end end level_bool = :"#{level}?" define_method(level_bool) do return unless logger # rubocop:disable Lint/NonLocalExitFromIterator logger.send(level_bool) end end end |
Instance Method Details
#level ⇒ Object
38 39 40 |
# File 'lib/log_decorator/log_proxy.rb', line 38 def level logger.level if logger end |
#level=(level) ⇒ Object
42 43 44 |
# File 'lib/log_decorator/log_proxy.rb', line 42 def level=(level) logger.level = level if logger end |
#log_backtrace ⇒ Object
46 47 48 |
# File 'lib/log_decorator/log_proxy.rb', line 46 def log_backtrace logger.log_backtrace if logger end |