static TestHelper() { _monitor = new ActivityMonitor(); // Do not pollute the console by default... // ... but this may be useful sometimes: LogsToConsole does the job. _console = new ActivityMonitorConsoleClient(); }
static TestHelper() { _monitor = new ActivityMonitor(); _monitor.Output.BridgeTarget.HonorMonitorFilter = false; _console = new ActivityMonitorConsoleClient(); _monitor.Output.RegisterClients(_console); }
public void ClientFilterPropagatesToMonitor() { var monitor = new ActivityMonitor( false ); var client = new ActivityMonitorConsoleClient(); monitor.Output.RegisterClient( client ); Assert.That( monitor.MinimalFilter, Is.EqualTo( LogFilter.Undefined ) ); client.Filter = LogFilter.Release; Assert.That( client.Filter, Is.EqualTo( LogFilter.Release ) ); Assert.That( monitor.ActualFilter, Is.EqualTo( LogFilter.Release ) ); }
public void ClientFilterPropagatesToMonitor() { var monitor = new ActivityMonitor(false); var client = new ActivityMonitorConsoleClient(); monitor.Output.RegisterClient(client); Assert.That(monitor.MinimalFilter, Is.EqualTo(LogFilter.Undefined)); client.Filter = LogFilter.Release; Assert.That(client.Filter, Is.EqualTo(LogFilter.Release)); Assert.That(monitor.ActualFilter, Is.EqualTo(LogFilter.Release)); }
internal MonitorTestHelper(ITestHelperConfiguration config, IBasicTestHelper basic) { _config = config; _basic = basic; basic.OnlyOnce(() => { _logToBinFile = _config.GetBoolean("Monitor/LogToBinFile") ?? _config.GetBoolean("Monitor/LogToBinFiles") ?? false; _logToTextFile = _config.GetBoolean("Monitor/LogToTextFile") ?? _config.GetBoolean("Monitor/LogToTextFiles") ?? false; string logLevel = _config.Get("Monitor/LogLevel"); if (logLevel != null) { var lf = LogFilter.Parse(logLevel); ActivityMonitor.DefaultFilter = lf; } LogFile.RootLogPath = basic.LogFolder; var conf = new GrandOutputConfiguration(); if (_logToBinFile) { var binConf = new BinaryFileConfiguration { UseGzipCompression = true, Path = FileUtil.CreateUniqueTimedFolder(LogFile.RootLogPath + "CKMon/", null, DateTime.UtcNow) }; conf.AddHandler(binConf); } if (_logToTextFile) { var txtConf = new TextFileConfiguration { Path = FileUtil.CreateUniqueTimedFolder(LogFile.RootLogPath + "Text/", null, DateTime.UtcNow) }; conf.AddHandler(txtConf); } GrandOutput.EnsureActiveDefault(conf, clearExistingTraceListeners: false); var monitorListener = Trace.Listeners.OfType <MonitorTraceListener>().FirstOrDefault(m => m.GrandOutput == GrandOutput.Default); // (Defensive programming) There is no real reason for this listener to not be in the listeners, but it can be. if (monitorListener != null) { // If our standard MonitorTraceListener has been injected, then we remove the StaticBasicTestHelper.SafeTraceListener // that throws Exceptions instead of callinf FailFast. Trace.Listeners.Remove("CK.Testing.SafeTraceListener"); } }); _monitor = new ActivityMonitor("MonitorTestHelper"); _console = new ActivityMonitorConsoleClient(); LogToConsole = _config.GetBoolean("Monitor/LogToConsole") ?? false; basic.OnCleanupFolder += OnCleanupFolder; basic.OnlyOnce(() => { var basePath = LogFile.RootLogPath + "Text" + FileUtil.DirectorySeparatorString; if (Directory.Exists(basePath)) { CleanupTimedFolders(_monitor, _basic, basePath, MaxCurrentLogFolderCount, MaxArchivedLogFolderCount); } basePath = LogFile.RootLogPath + "CKMon" + FileUtil.DirectorySeparatorString; if (Directory.Exists(basePath)) { CleanupTimedFolders(_monitor, _basic, basePath, MaxCurrentLogFolderCount, MaxArchivedLogFolderCount); } }); }