Ejemplo n.º 1
0
        public void TraceInformation()
        {
            var cut = new ObjectFileTraceListener
            {
                Name               = "object",
                Filename           = $"Trace-{GetMethodName()}.txt",
                TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ProcessId | TraceOptions.ThreadId,
            };

            var source = new TraceSource(nameof(ObjectFileTraceListenerTests), SourceLevels.All)
            {
                Listeners = { cut }
            };

            const string text = "some information";

            source.TraceInformation(text);

            source.Close();

            var expectedLines = GetPatterns(GetMethodName());
            var actualLines   = GetLines(cut);

            AssertLines(expectedLines, actualLines);
        }
Ejemplo n.º 2
0
        public void TraceDataSingle()
        {
            var cut = new ObjectFileTraceListener
            {
                Name               = "object",
                Filename           = $"Trace-{GetMethodName()}.txt",
                TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ProcessId | TraceOptions.ThreadId,
            };

            var source = new TraceSource(nameof(ObjectFileTraceListenerTests), SourceLevels.All)
            {
                Listeners = { cut }
            };

            const int            id        = 42;
            const TraceEventType eventType = TraceEventType.Verbose;
            const string         message   = "some message";
            const int            number    = 787;

            var data = new Data {
                Text = message, Id = number
            };

            source.TraceData(eventType, id, data);

            source.Close();

            var expectedLines = GetPatterns(GetMethodName());
            var actualLines   = GetLines(cut);

            AssertLines(expectedLines, actualLines);
        }
Ejemplo n.º 3
0
        public void TraceEventMessageFormat()
        {
            var cut = new ObjectFileTraceListener
            {
                Name               = "object",
                Filename           = $"Trace-{GetMethodName()}.txt",
                TraceOutputOptions = TraceOptions.DateTime | TraceOptions.ProcessId | TraceOptions.ThreadId,
            };

            var source = new TraceSource(nameof(ObjectFileTraceListenerTests), SourceLevels.All)
            {
                Listeners = { cut }
            };

            const int            id        = 42;
            const TraceEventType eventType = TraceEventType.Verbose;
            const string         format    = "some information is {0}";
            const int            number    = 859874;

            source.TraceEvent(eventType, id, format, number);

            source.Close();

            var expectedLines = GetPatterns(GetMethodName());
            var actualLines   = GetLines(cut);

            AssertLines(expectedLines, actualLines);
        }
Ejemplo n.º 4
0
        static void TestFromCode()
        {
            var source   = new TraceSource("TestFromCode", SourceLevels.All);
            var listener = new ObjectFileTraceListener {
                Filename = "trace.txt"
            };

            source.Listeners.Add(listener);

            source.TraceInformation("Hello trace!");
        }
Ejemplo n.º 5
0
        private List <string> GetLines(ObjectFileTraceListener listener)
        {
            var lines = new List <string>();

            using (var reader = new StreamReader(listener.Filename))
            {
                while (reader.Peek() >= 0)
                {
                    lines.Add(reader.ReadLine());
                }
            }
            return(lines);
        }
Ejemplo n.º 6
0
        private Regex GetPattern(TraceSource source, ObjectFileTraceListener listner, string method, TraceEventType eventType, int id, string text)
        {
            var pattern = "^";

            pattern += @"\[[0-9:. ]+\] ";
            pattern += @"<P=\d+> ";
            pattern += @"<T=\d+> ";
            pattern += $@".+: {eventType}\[{id}\] - ";

            pattern += $"{method.Replace("(", @"\(").Replace(")", @"\)")} ";

            pattern += $"- {text}$";

            return(new Regex(pattern, RegexOptions.Singleline));
        }
Ejemplo n.º 7
0
        static void TestDataFromCode()
        {
            var source   = new TraceSource("TestDataFromCode", SourceLevels.All);
            var listener = new ObjectFileTraceListener {
                Filename = "trace.txt"
            };

            source.Listeners.Add(listener);

            var data = new SimpleData {
                Name = "Alice"
            };

            source.TraceData(TraceEventType.Error, 42, "some text", data);

            source.Close();
        }