static void Main(string[] args) { var strategyFactory = new LoggingStrategyFactory(); strategyFactory.RegisterStrategy(level => level == LogLevel.Error, level => new ErrorLoggingStrategy()); var logger = new Logger(strategyFactory); logger.Log(LogLevel.Info, "Information"); Console.WriteLine(); logger.Log(LogLevel.Warn, "Warning!"); Console.WriteLine(); logger.Log(LogLevel.Error, "Error!"); Console.WriteLine(); logger.Log("Exception!", new Exception("Oops")); Console.WriteLine(); Console.ReadKey(); }
public Logger(LoggingStrategyFactory loggingStrategyFactory) { this._loggingStrategyFactory = loggingStrategyFactory; }