private void BuildSpecialTraceSources(TraceListenerCollectionNode listeners) { SpecialTraceSourcesNodeBuilder builder = new SpecialTraceSourcesNodeBuilder(ServiceProvider, settings.SpecialTraceSources, listeners); node.AddNode(builder.Build()); }
public void OpenAndSaveConfiguration() { ApplicationNode.Hierarchy.Load(); Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount); ApplicationNode.Hierarchy.Open(); Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount); TraceListenerCollectionNode traceListenersNode = (TraceListenerCollectionNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(TraceListenerCollectionNode)); AddLoggingDatabaseCommand cmd = new AddLoggingDatabaseCommand(ServiceProvider); cmd.Execute(traceListenersNode); LoggingDatabaseNode dataNode = (LoggingDatabaseNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(LoggingDatabaseNode)); ConnectionStringSettingsNode connectNode = (ConnectionStringSettingsNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(ConnectionStringSettingsNode)); dataNode.DatabaseInstance = connectNode; Assert.AreEqual(1, Hierarchy.FindNodesByType(ApplicationNode, typeof(DatabaseSectionNode)).Count); Hierarchy.Save(); Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount); Hierarchy.Load(); Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount); Hierarchy.Open(); Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount); Assert.AreEqual(1, Hierarchy.FindNodesByType(ApplicationNode, typeof(LoggingDatabaseNode)).Count); dataNode = (LoggingDatabaseNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(LoggingDatabaseNode)); Assert.AreEqual(dataNode.DatabaseInstance.Name, connectNode.Name); DatabaseSectionNode databaseSectionNode = (DatabaseSectionNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(DatabaseSectionNode)); databaseSectionNode.Remove(); dataNode.Remove(); Hierarchy.Save(); Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount); }
private void BuildTraceListeners(FormatterCollectionNode formatters) { TraceListenerCollectionNodeBuilder builder = new TraceListenerCollectionNodeBuilder(ServiceProvider, settings.TraceListeners, formatters); TraceListenerCollectionNode listeners = builder.Build(); BuildCategoryTraceSources(listeners); BuildSpecialTraceSources(listeners); node.AddNode(listeners); }
/// <summary> /// Adds the <see cref="LoggingSettingsNode"/> and adds the default nodes. /// </summary> /// <param name="node">The <see cref="LoggingSettingsNode"/> added.</param> protected override void ExecuteCore(ConfigurationNode node) { base.ExecuteCore(node); LoggingSettingsNode loggingNode = ChildNode as LoggingSettingsNode; if (loggingNode == null) { return; } TextFormatterNode defaultTextFormatterNode = new TextFormatterNode(); FormattedEventLogTraceListenerNode defaultTraceListenerNode = new FormattedEventLogTraceListenerNode(); CategoryTraceSourceNode generalCategoryNode = new CategoryTraceSourceNode(new TraceSourceData(Resources.TraceSourceCategoryGeneral, SourceLevels.All)); loggingNode.AddNode(new LogFilterCollectionNode()); CategoryTraceSourceCollectionNode categoryTraceSourcesNode = new CategoryTraceSourceCollectionNode(); TraceListenerReferenceNode generalCategoryListenerRef = new TraceListenerReferenceNode(new TraceListenerReferenceData(defaultTraceListenerNode.Name)); categoryTraceSourcesNode.AddNode(generalCategoryNode); generalCategoryNode.AddNode(generalCategoryListenerRef); generalCategoryListenerRef.ReferencedTraceListener = defaultTraceListenerNode; loggingNode.AddNode(categoryTraceSourcesNode); SpecialTraceSourcesNode specialTraceSourcesNode = new SpecialTraceSourcesNode(); ErrorsTraceSourceNode errorsTraceSourcesNode = new ErrorsTraceSourceNode(new TraceSourceData()); TraceListenerReferenceNode errorsTraceListenerReferenceNode = new TraceListenerReferenceNode(); errorsTraceSourcesNode.AddNode(errorsTraceListenerReferenceNode); errorsTraceListenerReferenceNode.ReferencedTraceListener = defaultTraceListenerNode; specialTraceSourcesNode.AddNode(errorsTraceSourcesNode); specialTraceSourcesNode.AddNode(new NotProcessedTraceSourceNode(new TraceSourceData())); specialTraceSourcesNode.AddNode(new AllTraceSourceNode(new TraceSourceData())); loggingNode.AddNode(specialTraceSourcesNode); TraceListenerCollectionNode traceListenerCollectionNode = new TraceListenerCollectionNode(); traceListenerCollectionNode.AddNode(defaultTraceListenerNode); defaultTraceListenerNode.Formatter = defaultTextFormatterNode; loggingNode.AddNode(traceListenerCollectionNode); FormatterCollectionNode formattersNode = new FormatterCollectionNode(); formattersNode.AddNode(defaultTextFormatterNode); loggingNode.AddNode(formattersNode); loggingNode.DefaultCategory = generalCategoryNode; loggingNode.LogWarningWhenNoCategoriesMatch = true; loggingNode.TracingEnabled = true; ServiceHelper.GetUIService(serviceProvider).RefreshPropertyGrid(); }
private void BuildTraceListeners() { TraceListenerCollectionNode traceListenerCollectionNode = (TraceListenerCollectionNode)hierarchy.FindNodeByType(loggingSettingsNode, typeof(TraceListenerCollectionNode)); if (traceListenerCollectionNode != null) { foreach (TraceListenerNode listenerNode in traceListenerCollectionNode.Nodes) { loggingSettings.TraceListeners.Add(listenerNode.TraceListenerData); } } }
public void TraceListenerNameEqualsReferencedTraceListenerName() { string traceListenerName = "a traceListener"; TraceListenerReferenceNode traceListenerReference = new TraceListenerReferenceNode(); TraceListenerCollectionNode traceListenerCollection = new TraceListenerCollectionNode(); TraceListenerNode aTraceListener = new WmiTraceListenerNode(new WmiTraceListenerData(traceListenerName)); ApplicationNode.AddNode(traceListenerReference); ApplicationNode.AddNode(traceListenerCollection); traceListenerCollection.AddNode(aTraceListener); traceListenerReference.ReferencedTraceListener = aTraceListener; Assert.AreEqual(traceListenerName, traceListenerReference.Name); }
private void BuildCategoryTraceSources(TraceListenerCollectionNode listeners) { CategoryTraceSourceCollectionNodeBuilder builder = new CategoryTraceSourceCollectionNodeBuilder(ServiceProvider, settings.TraceSources, listeners); CategoryTraceSourceCollectionNode traceSources = builder.Build(); foreach (CategoryTraceSourceNode traceSource in traceSources.Nodes) { if (traceSource.Name == settings.DefaultCategory) { node.DefaultCategory = traceSource; } } node.AddNode(traceSources); }
void BuildTraceListeners() { TraceListenerCollectionNode traceListenerCollectionNode = (TraceListenerCollectionNode)hierarchy.FindNodeByType(loggingSettingsNode, typeof(TraceListenerCollectionNode)); if (traceListenerCollectionNode != null) { foreach (TraceListenerNode listenerNode in traceListenerCollectionNode.Nodes) { TraceListenerData data = listenerNode.TraceListenerData; data.Filter = listenerNode.Filter; data.TraceOutputOptions = listenerNode.TraceOutputOptions; loggingSettings.TraceListeners.Add(data); } } }
public TraceListenerCollectionNode Build() { node = new TraceListenerCollectionNode(); listeners.ForEach(new Action <TraceListenerData>(CreateTraceListenerNode)); return(node); }
public CategoryTraceSourceCollectionNodeBuilder(IServiceProvider serviceProvider, NamedElementCollection <TraceSourceData> traceSources, TraceListenerCollectionNode listeners) : base(serviceProvider) { this.traceSources = traceSources; this.listeners = listeners; }
public SpecialTraceSourcesNodeBuilder(IServiceProvider serviceProvider, SpecialTraceSourcesData data, TraceListenerCollectionNode listeners) : base(serviceProvider) { this.specialTraceSourcesData = data; this.listeners = listeners; }