Class: InjectedLogger::Logger

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_hookObject

Returns the value of attribute after_hook.



33
34
35
# File 'lib/injectedlogger/logger.rb', line 33

def after_hook
  @after_hook
end

#fallbackObject

Returns the value of attribute fallback.



32
33
34
# File 'lib/injectedlogger/logger.rb', line 32

def fallback
  @fallback
end

#level_infoObject

Returns the value of attribute level_info.



32
33
34
# File 'lib/injectedlogger/logger.rb', line 32

def level_info
  @level_info
end

#levelsObject

Returns the value of attribute levels.



32
33
34
# File 'lib/injectedlogger/logger.rb', line 32

def levels
  @levels
end

#prefixObject

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

Returns:

  • (Boolean)


35
36
37
# File 'lib/injectedlogger/logger.rb', line 35

def injected?
  not logger.nil?
end

#respond_to_missing?(method, priv = false) ⇒ Boolean

Returns:

  • (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