コード例 #1
0
        public void WithMessage_Post_CallsEachProvider()
        {
            var providers = new List <Mock <ILogProvider> > {
                new Mock <ILogProvider>(), new Mock <ILogProvider>()
            };

            using (var task = new LogMessageSingleConsumerTask(providers.Select(p => p.Object)))
            {
                var message1 = new LogMessage(StageTypes.Deployment, "Something happened", LogLevelTypes.Ok);

                task.Post(message1);
            }

            providers.ForEach(p => p.Verify(e => e.Log(It.Is <string>(
                                                           m => m.Contains("\"Timestamp\":") &&
                                                           m.Contains("\"Stage\":\"Deployment\"") &&
                                                           m.Contains("\"LogLevel\":\"Ok\"") &&
                                                           m.Contains("\"Message\":\"Something happened\""))),
                                            Times.Once));
        }
コード例 #2
0
 public Logger(IEnumerable <ILogProvider> providers)
 {
     _providers  = providers.ToList();
     _loggerTask = new LogMessageSingleConsumerTask(_providers);
 }