示例#1
0
        public void ExecutingAddLoggingSettingsAddsDefaults()
        {
            AddLoggingSettingsNodeCommand addLoggingSettingsCommand = new AddLoggingSettingsNodeCommand(ServiceProvider);

            addLoggingSettingsCommand.Execute(ApplicationNode);
            LoggingSettingsNode loggingSettingsNode = (LoggingSettingsNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(LoggingSettingsNode));
            FormattedEventLogTraceListenerNode defaultEventLogListenerNode      = (FormattedEventLogTraceListenerNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(FormattedEventLogTraceListenerNode));
            TextFormatterNode                 defaultFormatterNode              = (TextFormatterNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(TextFormatterNode));
            ErrorsTraceSourceNode             errorTraceSourceNode              = (ErrorsTraceSourceNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(ErrorsTraceSourceNode));
            CategoryTraceSourceCollectionNode categoryCollectionNode            = (CategoryTraceSourceCollectionNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(CategoryTraceSourceCollectionNode));
            TraceListenerReferenceNode        defaultErrorListenerReferenceNode = (TraceListenerReferenceNode)Hierarchy.FindNodeByType(errorTraceSourceNode, typeof(TraceListenerReferenceNode));

            Assert.AreEqual(1, categoryCollectionNode.Nodes.Count);
            ConfigurationNode          generalCategoryNode = categoryCollectionNode.Nodes[0];
            TraceListenerReferenceNode defaultGeneralCategoryListenerRefenceNode = (TraceListenerReferenceNode)Hierarchy.FindNodeByType(generalCategoryNode, typeof(TraceListenerReferenceNode));

            Assert.AreEqual("General", generalCategoryNode.Name);
            Assert.IsNotNull(defaultErrorListenerReferenceNode);
            Assert.IsNotNull(defaultGeneralCategoryListenerRefenceNode);
            Assert.IsNotNull(defaultFormatterNode);
            Assert.IsNotNull(defaultEventLogListenerNode);
            Assert.AreEqual(defaultFormatterNode, defaultEventLogListenerNode.Formatter);
            Assert.AreEqual(defaultEventLogListenerNode, defaultGeneralCategoryListenerRefenceNode.ReferencedTraceListener);
            Assert.AreEqual(defaultEventLogListenerNode, defaultErrorListenerReferenceNode.ReferencedTraceListener);
            Assert.AreEqual(loggingSettingsNode.DefaultCategory, generalCategoryNode);
        }
示例#2
0
        /// <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 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);
        }
示例#4
0
        private void BuildTraceSources()
        {
            CategoryTraceSourceCollectionNode categoryTracesourceCollectioNode = (CategoryTraceSourceCollectionNode)hierarchy.FindNodeByType(loggingSettingsNode, typeof(CategoryTraceSourceCollectionNode));

            if (categoryTracesourceCollectioNode != null)
            {
                foreach (CategoryTraceSourceNode traceSourceNode in categoryTracesourceCollectioNode.Nodes)
                {
                    TraceSourceData traceSourceData = traceSourceNode.TraceSourceData;
                    BuildTraceListenerReferences(traceSourceData, traceSourceNode);
                    loggingSettings.TraceSources.Add(traceSourceData);
                }
            }
        }
 public CategoryTraceSourceCollectionNode Build()
 {
     node = new CategoryTraceSourceCollectionNode();
     traceSources.ForEach(new Action <TraceSourceData>(CreateTraceSourceNode));
     return(node);
 }