Example #1
0
        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);
        }