module Mimi::Logger::Instance
A mixin to include into your classes and modules. Makes methods logger and .logger available, referring to one global instance:
class MyApp
include Mimi::Logger::Instance def something logger.info 'Doing something...' end
end
Public Class Methods
included(base)
click to toggle source
# File lib/mimi/logger/instance.rb, line 16 def self.included(base) # puts "Module #{self} included into #{base}" base.send(:define_method, :logger) { Mimi::Logger::Instance.instance } base.send(:define_singleton_method, :logger) { Mimi::Logger::Instance.instance } end
instance(*args)
click to toggle source
Returns a previously created logger instance, or initializes a new one
@param args [Array] arguments to Logger
initializer
# File lib/mimi/logger/instance.rb, line 26 def self.instance(*args) raise 'Mimi::Logger::Instance already initialized' if @logger && !args.empty? @logger ||= Mimi::Logger.new(*args) end