public void RemovingTraceWriterConfigDoesNotRemoveLogWriterConfigs() { var textWriterLogWriterConfig = new TextWriterLogWriterConfig(new StringWriter()); var logWriterConfigs = new ILogWriterConfig[] { new ListLogWriterConfig <TraceEntry>(), textWriterLogWriterConfig }; var traceWriterConfigs = new List <TraceWriterConfig>(); using (var traceManager = new TraceManager()) { foreach (var logWriterConfig in logWriterConfigs) { traceWriterConfigs.Add(new TraceWriterConfig(logWriterConfig, TraceManagerConfig.CreateDefaultSwitchSet())); } traceManager.Config.Writers.UnionWith(traceWriterConfigs); // Test removing each for (int i = 0; i < logWriterConfigs.Length; ++i) { var logWriterConfig = logWriterConfigs[i]; var traceWriterConfig = traceWriterConfigs[i]; // Each logWriterConfig should exist in the LogManagerConfig before it is removed from the TraceManagerConfig Assert.Contains(traceManager.LogManager.Config.Writers, lwc => lwc == logWriterConfig); traceManager.Config.Writers.Remove(traceWriterConfig); Assert.DoesNotContain(traceManager.Config.Writers, twc => twc == traceWriterConfig); // LogWriters are left in place, because they may be used for other purposes Assert.Contains(traceManager.LogManager.Config.Writers, lwc => lwc == logWriterConfig); } } }
public void AddingTraceWriterConfigUpdatesLogManagerConfig() { var textWriterLogWriterConfig = new TextWriterLogWriterConfig(new StringWriter()); var logWriterConfigs = new ILogWriterConfig[] { new ListLogWriterConfig <TraceEntry>(), textWriterLogWriterConfig }; using (var traceManager = new TraceManager()) { foreach (var logWriterConfig in logWriterConfigs) { traceManager.Config.Writers.Add(new TraceWriterConfig(logWriterConfig, TraceManagerConfig.CreateDefaultSwitchSet())); Assert.Contains(traceManager.LogManager.Config.Writers, lwc => lwc == logWriterConfig); } } }
/// <summary> /// Configures console tracing using object graph configuration (newing the config objects). /// </summary> public void ObjectGraphConfigForTrace() { ConsoleLogWriterConfig = new ConsoleLogWriterConfig(); ConsoleLogWriterConfig.Format(new DefaultTraceFormatter()); TraceManager.Config.Writers.Add(new TraceWriterConfig(ConsoleLogWriterConfig, TraceManagerConfig.CreateDefaultSwitchSet())); }