public void Error(Exception ex) { if (_dependencyOnLevel.ContainsKey("Error")) { foreach (ILogger instance in _dependencyOnLevel["Error"]) { instance.Error(ex); } } else { var instance = new ConsoleLogger(); instance.Error(ex); } }
static void Main(string[] args) { ILogger logger; Console.WriteLine("Default logging"); logger = new Logger(); using ((IDisposable)logger) { logger.Error("error message"); logger.Error(new Exception("exception message")); logger.Warning("warning message"); logger.Info("info message"); } Console.WriteLine(""); Console.WriteLine("Console logging"); logger = new ConsoleLogger(); using ((IDisposable)logger) { logger.Error("error message"); logger.Error(new Exception("exception message")); logger.Warning("warning message"); logger.Info("info message"); } Console.WriteLine(""); Console.WriteLine("File logging"); logger = FileLogger.GetInstance(); using ((IDisposable)logger) { logger.Error("error message"); logger.Error(new Exception("exception message")); logger.Warning("warning message"); logger.Info("info message"); } Console.WriteLine(""); Console.WriteLine("Db logging"); logger = DbLogger.GetInstance(); using ((IDisposable)logger) { logger.Error("error message"); logger.Error(new Exception("exception message")); logger.Warning("warning message"); logger.Info("info message"); } Console.WriteLine(""); Console.ReadKey(); }