using MessengerApi.Configuration.Model; namespace MessengerApi.Factories { public class LoggerFactory : IServiceProvider { private readonly MessengerConfiguration _configuration; public LoggerFactory(MessengerConfiguration configuration) { _configuration = configuration; } public ILogger CreateLogger() { var logger = new ConsoleLogger() { IsDebugOutputEnabled = (this._configuration.Verbosity == Configuration.Enums.LoggingVerbosity.Debug || this._configuration.Verbosity == Configuration.Enums.LoggingVerbosity.Trace) ? true : false, IsTraceOutputEnabled = this._configuration.Verbosity == Configuration.Enums.LoggingVerbosity.Trace ? true : false }; return logger; } public object GetService(Type serviceType) { return this.CreateLogger(); } } }