Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
 /// <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()));
 }