public void WhenSinkIsRemoved() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true); TestScenario.WithConfiguration( svcConfiguration, () => { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProc.Logger.LogSomeMessage("some message to new added flat file"); var entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); Assert.AreEqual(1, entries.Count()); StringAssert.Contains(entries.First(), "some message to new added flat file"); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\NoListener.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-dummyListener", 1); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 0); MockEventSourceOutProc.Logger.LogSomeMessage("this message should not be logged"); var entries2 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); Assert.AreEqual(1, entries2.Count()); }); File.Delete(configFile); }
public void ReconfigListenerAdded() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\NoListener.xml", configFile); IEnumerable <string> entries = null; using (TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true)) using (TraceEventService collector = new TraceEventService(svcConfiguration)) { collector.Start(); try { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig", 1); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProc.Logger.LogSomeMessage("some message to new added flat file"); entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); } finally { collector.Stop(); File.Delete(configFile); } } Assert.AreEqual(1, entries.Count()); StringAssert.Contains(entries.First(), "some message to new added flat file"); }
public void ReconfigSameConfigTwiceWith2Listeners() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true); using (TraceEventService collector = new TraceEventService(svcConfiguration)) { collector.Start(); try { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-dummyListener", 1); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-dummyListener", 1); } finally { collector.Stop(); File.Delete(configFile); } } }
public void WhenConnfigUpdatedTwiceWithTwoListeners() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true); TestScenario.WithConfiguration( svcConfiguration, () => { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-dummyListener", 1); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-dummyListener", 1); }); File.Delete(configFile); }
public void ReconfigTwoSourcesListenerAddedThenRemoved() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerTwoSources.xml", configFile); TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true); using (TraceEventService collector = new TraceEventService(svcConfiguration)) { collector.Start(); try { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProc.Logger.LogSomeMessage("some message to new added flat file"); var entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); Assert.AreEqual(1, entries.Count()); StringAssert.Contains(entries.First(), "some message to new added flat file"); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerTwoSourcesSameListener.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProc.Logger.LogSomeMessage("some message to new added flat file2"); MockEventSourceOutProc2.Logger.LogSomeMessage("some message to new added flat file3"); var entries2 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 3, "======"); Assert.AreEqual(3, entries2.Count()); StringAssert.Contains(entries2.First(), "some message to new added flat file"); StringAssert.Contains(entries2.ElementAt(1), "some message to new added flat file2"); StringAssert.Contains(entries2.Last(), "some message to new added flat file3"); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerTwoSources.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProc.Logger.LogSomeMessage("last message to new added flat file"); var entries3 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 4, "======"); Assert.AreEqual(4, entries3.Count()); StringAssert.Contains(entries3.Last(), "last message to new added flat file"); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerTwoSourcesNoListener.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 0); } finally { collector.Stop(); File.Delete(configFile); } } }
public void WhenSomeSessionNamesAreInvalid() { File.Delete("sessionLength.log"); File.Delete("sessionLength2.log"); var cfg = TraceEventServiceConfiguration.Load("Configurations\\SessionNameLongInOneSink.xml"); using (TraceEventService svc = new TraceEventService(cfg)) { svc.Start(); Assert.IsTrue(TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfigService", 3)); Assert.IsTrue(File.Exists("sessionLength.log")); Assert.IsTrue(File.Exists("sessionLength2.log")); } }
public void WhenSomeSessionNamesAreInvalid() { File.Delete("sessionLength.log"); File.Delete("sessionLength2.log"); var svcConfiguration = TraceEventServiceConfiguration.Load("Configurations\\SessionNameLongInOneSink.xml"); TestScenario.WithConfiguration( svcConfiguration, () => { Assert.IsTrue(TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfigService", 3)); Assert.IsTrue(File.Exists("sessionLength.log")); Assert.IsTrue(File.Exists("sessionLength2.log")); }); }
public void WhenSinkAddedWithErrorDoesNotRecycle() { var fileName = "flatfileListenerOk.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\NoListener.xml", configFile); TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true); TestScenario.WithConfiguration( svcConfiguration, () => { using (var collectErrorsListener = new InMemoryEventListener()) { collectErrorsListener.EnableEvents(SemanticLoggingEventSource.Log, EventLevel.LogAlways, Keywords.All); try { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig", 1); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerError.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 0); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-2flatFileListener", 1); MockEventSourceOutProc.Logger.LogSomeMessage("Some informational from a new listener."); var entries2 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); Assert.AreEqual(1, entries2.Count()); StringAssert.Contains(entries2.First(), "Some informational from a new listener."); collectErrorsListener.WaitEvents.Wait(TimeSpan.FromSeconds(3)); StringAssert.Contains(collectErrorsListener.ToString(), "One or more errors occurred when loading the TraceEventService configuration file."); StringAssert.Contains(collectErrorsListener.ToString(), "The given path's format is not supported."); StringAssert.Contains(collectErrorsListener.ToString(), "The configuration was partially successfully loaded. Check logs for further error details."); } finally { File.Delete(configFile); collectErrorsListener.DisableEvents(SemanticLoggingEventSource.Log); } } }); }
public void ReconfigChangeSessionRecycles() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true); using (TraceEventService collector = new TraceEventService(svcConfiguration)) { try { collector.Start(); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-dummyListener", 1); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerDiffSession.xml", configFile); } finally { collector.Stop(); File.Delete(configFile); } } //using (TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load("Configurations\\Reconfiguration\\FlatFileListenerDiffSession.xml")) //using (TraceEventService collector = new TraceEventService(svcConfiguration)) //{ // collector.Start(); // Assert.AreEqual(0, TraceSessionHelper.CountSessionStartingWith("ServiceReconfig-flatFileListener")); // Assert.AreEqual(0, TraceSessionHelper.CountSessionStartingWith("ServiceReconfig-dummyListener")); // Assert.AreEqual(1, TraceSessionHelper.CountSessionStartingWith("ServiceReconfig2-flatFileListener")); // Assert.AreEqual(1, TraceSessionHelper.CountSessionStartingWith("ServiceReconfig2-dummyListener")); //} }
public void ReconfigListenerUpdateKeywordFiltered() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProcKeywords.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerNoKeywordFiltered.xml", configFile); using (TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true)) using (TraceEventService collector = new TraceEventService(svcConfiguration)) { collector.Start(); try { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProcKeywords.Logger.InformationalPage("No keyword filtering"); var entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); Assert.AreEqual(1, entries.Count()); StringAssert.Contains(entries.First(), "No keyword filtering"); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerKeywordFiltered.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProcKeywords.Logger.InformationalPage("InformationalPage ok"); MockEventSourceOutProcKeywords.Logger.InformationalDatabase("InformationalDatabase ok"); MockEventSourceOutProcKeywords.Logger.InformationalDiagnostic("Diagnostic not ok"); var entries2 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 3, "======"); Assert.AreEqual(3, entries2.Count()); StringAssert.Contains(entries2.First(), "No keyword filtering"); StringAssert.Contains(entries2.ElementAt(1).ToString(), "InformationalPage ok"); StringAssert.Contains(entries2.Last(), "InformationalDatabase ok"); } finally { collector.Stop(); File.Delete(configFile); } } }
public void ReconfigListenerUpdateLevelFiltered() { var fileName = "flatFileReconfig.log"; File.Delete(fileName); var logger = MockEventSourceOutProc.Logger; var configFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Configurations\\Reconfiguration\\temp\\configFile.xml"; UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListener.xml", configFile); using (TraceEventServiceConfiguration svcConfiguration = TraceEventServiceConfiguration.Load(configFile, true)) using (TraceEventService collector = new TraceEventService(svcConfiguration)) { collector.Start(); try { TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProc.Logger.LogSomeMessage("some message to new added flat file"); var entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); Assert.AreEqual(1, entries.Count()); StringAssert.Contains(entries.First(), "some message to new added flat file"); UpdateServiceConfigurationFile("Configurations\\Reconfiguration\\FlatFileListenerLevelFiltered.xml", configFile); TraceSessionHelper.WaitAndAssertCountOfSessions("ServiceReconfig-flatFileListener", 1); MockEventSourceOutProcLevelFiltered.Logger.LogSomeMessage("this message should not be logged"); var entries2 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "======"); Assert.AreEqual(1, entries2.Count()); MockEventSourceOutProcLevelFiltered.Logger.Critical("this critical message should pass the filter"); entries2 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 2, "======"); Assert.AreEqual(2, entries2.Count()); StringAssert.Contains(entries2.First(), "some message to new added flat file"); StringAssert.Contains(entries2.Last(), "this critical message should pass the filter"); } finally { collector.Stop(); File.Delete(configFile); } } }