private static void SendContinuousEvents(int delay, CancellationToken token, int maxEvents = Int32.MaxValue, int maxDaysOld = 90, Event ev = null) { Console.SetCursorPosition(0, OPTIONS_MENU_LINE_COUNT + 2); Console.WriteLine("Press 's' to stop sending."); int eventCount = 0; var levels = new[] { LogLevel.Trace, LogLevel.Debug, LogLevel.Info, LogLevel.Warn, LogLevel.Error, LogLevel.Fatal, LogLevel.Other }; Task.Factory.StartNew(delegate { while (eventCount < maxEvents) { if (token.IsCancellationRequested) break; if (ev != null && ev.IsLog()) ev.SetProperty(Event.KnownDataKeys.Level, levels.Random().Name); SendEvent(ev, false); eventCount++; lock (_writeLock) { Console.SetCursorPosition(0, OPTIONS_MENU_LINE_COUNT + 4); Console.WriteLine("Submitted {0} events.", eventCount); } Thread.Sleep(delay); } ClearOutputLines(); }, token); }
public void EventExclusionPlugin_LogLevelsWithInfoDefault(string source, string level, string settingKey, string settingValue, bool cancelled) { var client = CreateClient(); client.Configuration.Settings.Add(SettingsDictionary.KnownKeys.LogLevelPrefix + "*", "Info"); if (settingKey != null) client.Configuration.Settings.Add(settingKey, settingValue); var ev = new Event { Type = Event.KnownTypes.Log, Source = source }; if (!String.IsNullOrEmpty(level)) ev.SetProperty(Event.KnownDataKeys.Level, level); var context = new EventPluginContext(client, ev); var plugin = new EventExclusionPlugin(); plugin.Run(context); Assert.Equal(cancelled, context.Cancel); }