static void Main(string[] args) { var myTrace = new LogAnalyseTraceListener(Guid.NewGuid(), Guid.NewGuid()); //System.Diagnostics.Trace.Listeners.Add(); CreateLogAnalyse2(myTrace); myTrace.WriteLine("Programmstart"); Console.WriteLine("Hello!\n\n Bitte geben Sie einzelne Wörter oder Buchstaben ein \nDie eingaben werden gelogged und am ende analysiert.\n"); var eingabe = string.Empty; do { eingabe = Console.ReadLine(); myTrace.WriteLine(string.Format("Eingabe: {0}", eingabe)); } while (eingabe != string.Empty); myTrace.WriteLine("Programmende"); myTrace.Quit(); Console.WriteLine("Ende"); System.Threading.Thread.Sleep(1000 * 5); }
/* * Analyse über das Trace * - Ausführungsdauer insgesamt ("Programmstart" bis "Programmende") * - Häufigste Eingabe welches Wort/Ausdruck * - Wie oft ist das Wort "Test" oder der Buchstabe "A" eingegeben worden * - Längste Dauer zwischen 2 Eingabe * - Kürzeste Dauer zwischen 2 Eingabe * * */ private static void CreateLogAnalyse1(LogAnalyseTraceListener myTrace) { var results = myTrace.Messages //messages.MessagesObserver .Where(log => log.AppId == myTrace.AppId) .Subscribe( item => myTrace.Output("Item: {0}, {2}: {1}, {3}", item.AppId, item.LogMessage, item.DateTime, item.ActivityId), err => myTrace.Output(@"Error: {0}", err.Message), () => myTrace.Output("Completed!")); }