Exemple #1
0
        public void WhenUsingCustomFormatter()
        {
            string fileName = "FlatFileInProcCustomFormatter.log";

            File.Delete(fileName);
            string header    = "----------";
            var    logger    = TestEventSourceNonTransient.Logger;
            var    formatter = new CustomFormatterWithWait(header);

            formatter.Detailed = EventLevel.LogAlways;

            IEnumerable <string> entries = null;

            TestScenario.With1Listener(
                logger,
                listener =>
            {
                listener.LogToFlatFile(fileName, formatter);
                listener.EnableEvents(logger, EventLevel.LogAlways);

                logger.EventWithPayload("payload1", 100);

                entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, header);
            });

            StringAssert.Contains(entries.First(), "Mock SourceId");
            StringAssert.Contains(entries.First(), "Mock EventId");
            StringAssert.Contains(entries.First(), "Payload : [payload1 : payload1] [payload2 : 100]");
        }
Exemple #2
0
        public void WhenUsingCustomFormatterProgramatically()
        {
            string fileName = "FlatFileCustomFormatterProgrammatic.log";

            File.Delete(fileName);
            var logger = MockEventSourceOutProc.Logger;
            CustomFormatterWithWait formatter = new CustomFormatterWithWait();

            formatter.Detailed       = System.Diagnostics.Tracing.EventLevel.LogAlways;
            formatter.Header         = "---------------";
            formatter.DateTimeFormat = "d";

            IEnumerable <string> entries  = null;
            EventSourceSettings  settings = new EventSourceSettings("MockEventSourceOutProc", null, System.Diagnostics.Tracing.EventLevel.Critical);
            var subject = new EventEntrySubject();

            subject.LogToFlatFile(fileName, formatter);
            SinkSettings sinkSettings = new SinkSettings("flatFileSink", subject, new List <EventSourceSettings>()
            {
                { settings }
            });
            List <SinkSettings> sinks = new List <SinkSettings>()
            {
                { sinkSettings }
            };
            TraceEventServiceConfiguration svcConfiguration = new TraceEventServiceConfiguration(sinks);

            using (TraceEventService collector = new TraceEventService(svcConfiguration))
            {
                try
                {
                    collector.Start();
                    logger.Critical("some message using formatter");

                    entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, "---------------");
                }
                finally
                {
                    collector.Stop();
                }
            }

            StringAssert.Contains(entries.First(), "Mock SourceId");
            StringAssert.Contains(entries.First(), "Mock EventId");
            StringAssert.Contains(entries.First(), "Payload : [message : some message using formatter]");
        }