Module: NRSER::Log::Mixin

Included in:
NRSER, AbstractMethodError, NRSER::Log, Props::ClassMethods, Props::Prop, Types
Defined in:
lib/nrser/log/mixin.rb

Overview

Adaptation of SemanticLogger::Loggable mixin to use Logger instances from [].

Like SemanticLogger::Loggable adds class and instance ‘logger` and `logger=` methods that create loggers on demand and store them in the `@semantic_logger` instance variables.

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

Class Methods



34
35
36
37
38
39
# File 'lib/nrser/log/mixin.rb', line 34

def self.included base
  base.extend ClassMethods
  
  # Adds `.logger_measure_method`
  base.extend SemanticLogger::Loggable::ClassMethods
end

Instance Method Details

#loggerObject

Returns [SemanticLogger::Logger] instance level logger



46
47
48
# File 'lib/nrser/log/mixin.rb', line 46

def logger
  @semantic_logger ||= self.class.logger
end

#logger=(logger) ⇒ Object

Replace instance level logger



52
53
54
# File 'lib/nrser/log/mixin.rb', line 52

def logger= logger
  @semantic_logger = logger
end