Class: Polylog::SoloProvider
- Inherits:
-
Object
- Object
- Polylog::SoloProvider
- Defined in:
- lib/polylog/solo_provider.rb
Overview
The purpose of the SoloProvider is to return a single instance for all logger requests. You would use this provider to supply all parts of the application with the exact same logger.
The NullLogger uses the SoloProvider to register itself under the “null” provider name.
Examples
Polylog.register_provider 'stdout', Polylog::SoloProvider.new(Logger.new(STDOUT))
Polylog.register_provider 'stderr', Polylog::SoloProvider.new(Logger.new(STDERR))
Polylog.register_provider 'file', Polylog::SoloProvider.new(Logger.new('app.log'))
Polylog.use_provider 'stderr'
logger = Polylog.logger # returns a STDERR logger
Polylog.use_provider 'file'
logger = Polylog.logger # returns an 'app.log' file logger
Instance Method Summary collapse
-
#initialize(logger) ⇒ SoloProvider
constructor
Constructs a new SoloProvider that will provide the same instance for each request for a logger.
-
#logger(name) ⇒ Object
Returns the same logger instance for all requests.
Constructor Details
#initialize(logger) ⇒ SoloProvider
Constructs a new SoloProvider that will provide the same instance for each request for a logger.
logger - The logger instance that will be provided.
28 29 30 |
# File 'lib/polylog/solo_provider.rb', line 28 def initialize( logger ) @logger = logger end |
Instance Method Details
#logger(name) ⇒ Object
Returns the same logger instance for all requests. The ‘name` is not used by this this method.
name - The logger name as a String
36 37 38 |
# File 'lib/polylog/solo_provider.rb', line 36 def logger( name ) @logger end |