public TextFormatterSetting(TextFormatterData sourceElement,
                             string name,
                             string template)
     : base(sourceElement, name)
 {
     this.template = template;
 }
        public void CanCreatePoliciesForFormattedEventLogTraceListenerWithFormatter()
        {
            FormattedEventLogTraceListenerData listenerData
                = new FormattedEventLogTraceListenerData("listener", CommonUtil.EventLogSourceName, CommonUtil.EventLogName, "machine", "formatter");

            listenerData.TraceOutputOptions = TraceOptions.Callstack | TraceOptions.ProcessId;
            listenerData.Filter             = SourceLevels.Error;
            loggingSettings.TraceListeners.Add(listenerData);

            FormatterData formatterData = new TextFormatterData("formatter", "template");

            loggingSettings.Formatters.Add(formatterData);

            using (var container = CreateContainer())
            {
                FormattedEventLogTraceListener createdObject =
                    (FormattedEventLogTraceListener)container.Resolve <TraceListener>("listener\u200cimplementation");

                Assert.IsNotNull(createdObject);
                Assert.AreEqual(listenerData.TraceOutputOptions, createdObject.TraceOutputOptions);
                Assert.IsNotNull(createdObject.Filter);
                Assert.IsInstanceOfType(createdObject.Filter, typeof(EventTypeFilter));
                Assert.AreEqual(listenerData.Filter, ((EventTypeFilter)createdObject.Filter).EventType);
                Assert.IsNotNull(createdObject.Formatter);
                Assert.AreSame(typeof(TextFormatter), createdObject.Formatter.GetType());
                Assert.AreEqual("template", ((TextFormatter)createdObject.Formatter).Template);
                Assert.AreEqual(CommonUtil.EventLogSourceName, ((EventLogTraceListener)createdObject.InnerListener).EventLog.Source);
                Assert.AreEqual(CommonUtil.EventLogName, ((EventLogTraceListener)createdObject.InnerListener).EventLog.Log);
                Assert.AreEqual("machine", ((EventLogTraceListener)createdObject.InnerListener).EventLog.MachineName);
            }
        }
 public void SetUp()
 {
     provider            = new TextFormatterDataManageabilityProvider();
     machineKey          = new MockRegistryKey(true);
     userKey             = new MockRegistryKey(true);
     configurationObject = new TextFormatterData();
 }
        public void CanCreatePoliciesForEmailTraceListenerWithFormatter()
        {
            EmailTraceListenerData listenerData
                = new EmailTraceListenerData("listener", "to address", "from address", "starter", "ender", "smtp", 25, "formatter");

            listenerData.TraceOutputOptions = TraceOptions.Callstack | TraceOptions.ProcessId;
            listenerData.Filter             = SourceLevels.Error;
            loggingSettings.TraceListeners.Add(listenerData);

            FormatterData formatterData = new TextFormatterData("formatter", "template");

            loggingSettings.Formatters.Add(formatterData);

            container.AddExtension(new LoggingBlockExtension());

            EmailTraceListener createdObject = (EmailTraceListener)container.Resolve <TraceListener>("listener");

            Assert.IsNotNull(createdObject);
            Assert.AreEqual(listenerData.TraceOutputOptions, createdObject.TraceOutputOptions);
            Assert.IsNotNull(createdObject.Filter);
            Assert.IsInstanceOfType(createdObject.Filter, typeof(EventTypeFilter));
            Assert.AreEqual(listenerData.Filter, ((EventTypeFilter)createdObject.Filter).EventType);
            Assert.IsNotNull(createdObject.Formatter);
            Assert.AreSame(typeof(TextFormatter), createdObject.Formatter.GetType());
            Assert.AreEqual("template", ((TextFormatter)createdObject.Formatter).Template);
            // TODO test the actual values used to create the listener
        }
示例#5
0
        /// <summary>
        /// Initialize a new instance of the <see cref="TextFormatterNode"/> class with a <see cref="TextFormatterData"/> instance.
        /// </summary>
        /// <param name="textFormatterData">A <see cref="TextFormatterData"/> instance.</param>
        public TextFormatterNode(TextFormatterData textFormatterData)
        {
            if (null == textFormatterData) throw new ArgumentNullException("textFormatterData");

            this.template = textFormatterData.Template;
            Rename(textFormatterData.Name);
        }
示例#6
0
        public static TextFormatter CreateTextFormatter(string template)
        {
            TextFormatterData data = new TextFormatterData();

            data.Template.Value = template;
            return(new TextFormatter(data));
        }
示例#7
0
        /// <summary>
        /// Initializes a new instance of a <see cref="TextFormatter"></see> with the given
        /// <see cref="TextFormatterData"></see> configuration data
        /// </summary>
        /// <param name="textFormatterData">
        /// <para>A <see cref="TextFormatterData"/> object.</para>
        /// </param>
        public TextFormatter(TextFormatterData textFormatterData)
        {
            ArgumentValidation.CheckForNullReference(textFormatterData, "textFormatterData");

            this.textFormatterData = textFormatterData;
            RegisterTemplate();
        }
示例#8
0
        public void CanCreatePoliciesForProviderWithFormatter()
        {
            FormattedDatabaseTraceListenerData listenerData
                = new FormattedDatabaseTraceListenerData("listener", "write", "add", "database", "formatter");

            listenerData.TraceOutputOptions = TraceOptions.Callstack | TraceOptions.ProcessId;
            listenerData.Filter             = SourceLevels.Error;
            loggingSettings.TraceListeners.Add(listenerData);

            FormatterData formatterData = new TextFormatterData("formatter", "template");

            loggingSettings.Formatters.Add(formatterData);

            connectionStringsSection.ConnectionStrings.Add(
                new ConnectionStringSettings("database", "foo=bar;", "System.Data.SqlClient"));

            using (var container = CreateContainer())
            {
                FormattedDatabaseTraceListener createdObject =
                    (FormattedDatabaseTraceListener)container.Resolve <TraceListener>("listener\u200cimplementation");

                Assert.IsNotNull(createdObject);
                Assert.AreEqual(listenerData.TraceOutputOptions, createdObject.TraceOutputOptions);
                Assert.IsNotNull(createdObject.Filter);
                Assert.IsInstanceOfType(createdObject.Filter, typeof(EventTypeFilter));
                Assert.AreEqual(listenerData.Filter, ((EventTypeFilter)createdObject.Filter).EventType);
                Assert.IsNotNull(createdObject.Formatter);
                Assert.AreSame(typeof(TextFormatter), createdObject.Formatter.GetType());
                Assert.AreEqual("template", ((TextFormatter)createdObject.Formatter).Template);
            }
        }
        /// <summary>
        /// Adds a <see cref="TextFormatterNode"/>.
        /// </summary>
        protected override void AddDefaultChildNodes()
        {
            base.AddDefaultChildNodes();
            TextFormatterData data = new TextFormatterData(SR.DefaultFormatter, SR.DefaultTextFormat);

            Nodes.Add(new TextFormatterNode(data));
        }
        public void CanCreatePoliciesForCustomTraceListenerWithFormatter()
        {
            CustomTraceListenerData listenerData
                = new CustomTraceListenerData("listener", typeof(MockCustomTraceListener), "", TraceOptions.Callstack);

            listenerData.Formatter = "formatter";
            listenerData.SetAttributeValue(MockCustomTraceListener.AttributeKey, attributeValue);
            loggingSettings.TraceListeners.Add(listenerData);

            FormatterData formatterData = new TextFormatterData("formatter", "template");

            loggingSettings.Formatters.Add(formatterData);

            using (var container = CreateContainer())
            {
                var createdObject =
                    container.Resolve <TraceListener>("listener\u200cimplementation") as AttributeSettingTraceListenerWrapper;

                Assert.IsNotNull(createdObject);
                Assert.AreEqual("listener\u200cimplementation", createdObject.Name);
                Assert.AreEqual(TraceOptions.Callstack, createdObject.TraceOutputOptions);
                Assert.AreEqual(typeof(MockCustomTraceListener), createdObject.InnerTraceListener.GetType());
                Assert.AreEqual(null, ((MockCustomTraceListener)createdObject.InnerTraceListener).initData);    // configured with "", but set to null
                Assert.AreEqual(attributeValue, ((MockCustomTraceListener)createdObject.InnerTraceListener).Attribute);
                Assert.IsNotNull(((MockCustomTraceListener)createdObject.InnerTraceListener).Formatter);
                Assert.AreSame(typeof(TextFormatter), ((MockCustomTraceListener)createdObject.InnerTraceListener).Formatter.GetType());
                Assert.AreEqual("template", ((TextFormatter)((MockCustomTraceListener)createdObject.InnerTraceListener).Formatter).Template);
            }
        }
        public void CanCreatePoliciesForEmailTraceListenerWithFormatter()
        {
            EmailTraceListenerData listenerData
                = new EmailTraceListenerData("listener", "to address", "from address", "starter", "ender", "smtp", 25, "formatter");

            listenerData.TraceOutputOptions = TraceOptions.Callstack | TraceOptions.ProcessId;
            listenerData.Filter             = SourceLevels.Error;
            loggingSettings.TraceListeners.Add(listenerData);

            FormatterData formatterData = new TextFormatterData("formatter", "template");

            loggingSettings.Formatters.Add(formatterData);

            using (var container = CreateContainer())
            {
                EmailTraceListener createdObject =
                    (EmailTraceListener)container.Resolve <TraceListener>("listener\u200cimplementation");

                Assert.IsNotNull(createdObject);
                Assert.AreEqual(listenerData.TraceOutputOptions, createdObject.TraceOutputOptions);
                Assert.IsNotNull(createdObject.Filter);
                Assert.IsInstanceOfType(createdObject.Filter, typeof(EventTypeFilter));
                Assert.AreEqual(listenerData.Filter, ((EventTypeFilter)createdObject.Filter).EventType);
                Assert.IsNotNull(createdObject.Formatter);
                Assert.AreSame(typeof(TextFormatter), createdObject.Formatter.GetType());
                Assert.AreEqual("template", ((TextFormatter)createdObject.Formatter).Template);
            }
        }
示例#12
0
 public void SetUp()
 {
     provider            = new ConfigurationElementManageabilityProviderWrapper(new TextFormatterDataManageabilityProvider());
     machineKey          = new MockRegistryKey(true);
     userKey             = new MockRegistryKey(true);
     wmiSettings         = new List <ConfigurationSetting>();
     configurationObject = new TextFormatterData();
 }
        internal static bool SaveChanges(TextFormatterSetting setting,
                                         ConfigurationElement sourceElement)
        {
            TextFormatterData element = (TextFormatterData)sourceElement;

            element.Template = setting.Template;
            return(true);
        }
 public TextFormatterNode(TextFormatterData textFormatterData)
 {
     if (null == textFormatterData)
     {
         throw new ArgumentNullException("textFormatterData");
     }
     this.template = textFormatterData.Template;
     Rename(textFormatterData.Name);
 }
示例#15
0
        private static TextFormatterData GetMessageFormatter(string msgTemplate)
        {
            var msgFormatter = new TextFormatterData();

            msgFormatter.Name     = "MsgFormatter";
            msgFormatter.Type     = typeof(TextFormatter);
            msgFormatter.Template = msgTemplate;
            return(msgFormatter);
        }
示例#16
0
        private static TextFormatterData GetPerformanceFormatter(string performanceTemplate)
        {
            var performanceFormatter = new TextFormatterData();

            performanceFormatter.Name     = "PerformanceFormatter";
            performanceFormatter.Type     = typeof(TextFormatter);
            performanceFormatter.Template = performanceTemplate;
            return(performanceFormatter);
        }
示例#17
0
        private string FormatEntry(string template, LogEntry entry)
        {
            TextFormatterData data = new TextFormatterData();

            data.Template.Value = template;

            TextFormatter formatter = new TextFormatter(data);

            return(formatter.Format(entry));
        }
        public void CanCreateTextFormatterFromUnnamedDataBug1883()
        {
            string            template = "{message}";
            TextFormatterData data     = new TextFormatterData(template);

            ILogFormatter formatter = LogFormatterCustomFactory.Instance.Create(context, data, null, reflectionCache);

            Assert.AreSame(typeof(TextFormatter), formatter.GetType());
            Assert.AreEqual(template, ((TextFormatter)formatter).Template);
        }
示例#19
0
        public void CanCreatePoliciesForTextFormatter()
        {
            FormatterData data = new TextFormatterData("name", "template");

            loggingSettings.Formatters.Add(data);
            container.AddExtension(new LoggingBlockExtension());
            TextFormatter createdObject = (TextFormatter)container.Resolve <ILogFormatter>("name");

            Assert.IsNotNull(createdObject);
            Assert.AreEqual("template", createdObject.Template);
        }
        public void TextFormatterDataTest()
        {
            string            name     = "some name";
            string            template = "template";
            TextFormatterData data     = new TextFormatterData();

            data.Name     = name;
            data.Template = template;
            TextFormatterNode node = new TextFormatterNode(data);

            Assert.AreEqual(name, node.Name);
            Assert.AreEqual(template, node.Template.Text);
        }
示例#21
0
        /// <summary>
        /// Initialize a new instance of a <see cref="TextFormatter"/>.  Reads the template from
        /// configuration parameters.
        /// </summary>
        /// <param name="configurationView">Dynamic view into the configuration information needed by the <see cref="TextFormatter"></see></param>
        public override void Initialize(ConfigurationView configurationView)
        {
            ArgumentValidation.CheckForNullReference(configurationView, "configurationView");
            ArgumentValidation.CheckExpectedType(configurationView, typeof(LoggingConfigurationView));

            LoggingConfigurationView loggingConfigurationView = (LoggingConfigurationView)configurationView;
            FormatterData            formatterData            = loggingConfigurationView.GetFormatterData(ConfigurationName);

            ArgumentValidation.CheckExpectedType(textFormatterData, typeof(TextFormatterData));

            textFormatterData = (TextFormatterData)formatterData;
            RegisterTemplate();
        }
示例#22
0
        public void CanCreateLogFormatter()
        {
            FormatterData data = new TextFormatterData("name", "template");

            loggingSettings.Formatters.Add(data);

            InitializeContainer();

            TextFormatter createdObject = (TextFormatter)container.Resolve <ILogFormatter>("name");

            Assert.IsNotNull(createdObject);
            Assert.AreEqual("template", createdObject.Template);
        }
        public void TextFormatterNodeTest()
        {
            string            name          = "some name";
            string            template      = "template";
            TextFormatterNode formatterNode = new TextFormatterNode();

            formatterNode.Name     = name;
            formatterNode.Template = new Template(template);
            TextFormatterData nodeData = (TextFormatterData)formatterNode.FormatterData;

            Assert.AreEqual(name, nodeData.Name);
            Assert.AreEqual(template, nodeData.Template);
        }
        public void CanCreatePoliciesForTextFormatter()
        {
            FormatterData data = new TextFormatterData("name", "template");

            loggingSettings.Formatters.Add(data);

            using (var container = CreateContainer())
            {
                TextFormatter createdObject = (TextFormatter)container.Resolve <ILogFormatter>("name");

                Assert.IsNotNull(createdObject);
                Assert.AreEqual("template", createdObject.Template);
            }
        }
示例#25
0
        public void TextFormatterDataTest()
        {
            string name = "some name";
            string template = "template";

            TextFormatterData data = new TextFormatterData();
            data.Name = name;
            data.Template = template;

            TextFormatterNode node = new TextFormatterNode(data);

            Assert.AreEqual(name, node.Name);
            Assert.AreEqual(template, node.Template.Text);
        }
示例#26
0
        public void SavesChangesToConfigurationObject()
        {
            TextFormatterData sourceElement = new TextFormatterData();

            sourceElement.Template = "template";
            List <ConfigurationSetting> settings = new List <ConfigurationSetting>(1);

            TextFormatterDataWmiMapper.GenerateWmiObjects(sourceElement, settings);
            Assert.AreEqual(1, settings.Count);
            TextFormatterSetting setting = settings[0] as TextFormatterSetting;

            Assert.IsNotNull(setting);
            setting.Template = "updated template";
            setting.Commit();
            Assert.AreEqual("updated template", sourceElement.Template);
        }
        public void TraceListenerIsSingletonInContainer()
        {
            FormatterData data = new TextFormatterData("formattername", "template");

            loggingSettings.Formatters.Add(data);
            TraceListenerData traceListenerData = new FlatFileTraceListenerData("name", "filename.log", "formattername");

            loggingSettings.TraceListeners.Add(traceListenerData);

            container.AddExtension(new LoggingBlockExtension());

            FlatFileTraceListener createdObject1 = (FlatFileTraceListener)container.Resolve <TraceListener>("name");
            FlatFileTraceListener createdObject2 = (FlatFileTraceListener)container.Resolve <TraceListener>("name");

            Assert.AreSame(createdObject1, createdObject2);
        }
示例#28
0
        public void TraceListenerIsSingletonInContainer()
        {
            FormatterData data = new TextFormatterData("formattername", "template");

            loggingSettings.Formatters.Add(data);
            TraceListenerData traceListenerData = new FlatFileTraceListenerData("name", "filename.log", "formattername");

            loggingSettings.TraceListeners.Add(traceListenerData);

            InitializeContainer();

            TraceListener createdObject1 = container.Resolve <TraceListener>("name");
            TraceListener createdObject2 = container.Resolve <TraceListener>("name");

            Assert.AreSame(createdObject1, createdObject2);
        }
        public void CanCreateFormatterFromFactory()
        {
            FormatterData   data     = new TextFormatterData("ignore", "template");
            LoggingSettings settings = new LoggingSettings();

            settings.Formatters.Add(data);
            DictionaryConfigurationSource configurationSource = new DictionaryConfigurationSource();

            configurationSource.Add(LoggingSettings.SectionName, settings);

            ILogFormatter formatter = LogFormatterCustomFactory.Instance.Create(context, "ignore", configurationSource, reflectionCache);

            Assert.IsNotNull(formatter);
            Assert.AreEqual(formatter.GetType(), typeof(TextFormatter));
            Assert.AreEqual("template", ((TextFormatter)formatter).Template);
        }
示例#30
0
        private void AddFormatter(string formatterName, string templateName)
        {
            if (!this.loggingSettings.Formatters.Contains(formatterName))
            {
                lock (this.formatterLock)
                {
                    if (!this.loggingSettings.Formatters.Contains(formatterName))
                    {
                        TextFormatterData textTextFormatter = new TextFormatterData();

                        textTextFormatter.Name     = formatterName;
                        textTextFormatter.Template = templateName;

                        this.loggingSettings.Formatters.Add(textTextFormatter);
                    }
                }
            }
        }
示例#31
0
        public void DistributorSettingsPropertiesTest()
        {
            CategoryData categoryData = new CategoryData();

            categoryData.Name = SR.DefaultCategory;
            CategoryNode      defaultCategory = new CategoryNode(categoryData);
            TextFormatterData formatterData   = new TextFormatterData();

            formatterData.Name = SR.DefaultFormatter;
            TextFormatterNode defaultFormatter = new TextFormatterNode(formatterData);

            DistributorSettingsNode distributorSettings = new DistributorSettingsNode();

            applicationNode.Nodes.Add(distributorSettings);
            distributorSettings.DefaultFormatter = defaultFormatter;
            distributorSettings.DefaultCategory  = defaultCategory;

            Assert.AreEqual(defaultCategory.Name, distributorSettings.DefaultCategory.Name);
            Assert.AreEqual(defaultFormatter, distributorSettings.DefaultFormatter);
        }
示例#32
0
        public void TextFormatterDataTest()
        {
            string name     = "testName";
            string template = "<test>template</test>";
            string type     = typeof(TextFormatter).AssemblyQualifiedName;

            TextFormatterData data = new TextFormatterData();

            data.Name           = name;
            data.Template.Value = template;
            data.TypeName       = type;

            TextFormatterNode node = new TextFormatterNode(data);

            GeneratedApplicationNode.Nodes.Add(node);
            TextFormatterData nodeData = (TextFormatterData)node.FormatterData;

            Assert.AreEqual(name, nodeData.Name);
            Assert.AreEqual(template, nodeData.Template.Value);
            Assert.AreEqual(type, nodeData.TypeName);
        }
        public void RegisteredFormatterDataProviderIsCalledWithCorrectOverrides()
        {
            MockConfigurationElementManageabilityProvider registeredProvider
                = new MockConfigurationElementManageabilityProvider();
            Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders
                = new Dictionary<Type, ConfigurationElementManageabilityProvider>();
            subProviders.Add(typeof(TextFormatterData), registeredProvider);
            provider = new LoggingSettingsManageabilityProvider(subProviders);

            TextFormatterData formatterData = new TextFormatterData("formatter1", "template");
            section.Formatters.Add(formatterData);

            MockRegistryKey machineFormattersKey = new MockRegistryKey(false);
            machineKey.AddSubKey(LoggingSettingsManageabilityProvider.LogFormattersKeyName, machineFormattersKey);
            MockRegistryKey machineFormatterKey = new MockRegistryKey(false);
            machineFormattersKey.AddSubKey("formatter1", machineFormatterKey);
            MockRegistryKey machineOtherFormatterKey = new MockRegistryKey(false);
            machineFormattersKey.AddSubKey("formatter2", machineOtherFormatterKey);

            MockRegistryKey userFormattersKey = new MockRegistryKey(false);
            userKey.AddSubKey(LoggingSettingsManageabilityProvider.LogFormattersKeyName, userFormattersKey);
            MockRegistryKey userFormatterKey = new MockRegistryKey(false);
            userFormattersKey.AddSubKey("formatter1", userFormatterKey);
            MockRegistryKey userOtherFormatterKey = new MockRegistryKey(false);
            userFormattersKey.AddSubKey("formatter2", userOtherFormatterKey);

            provider.OverrideWithGroupPolicies(section, true, machineKey, userKey);

            Assert.IsTrue(registeredProvider.called);
            Assert.AreSame(formatterData, registeredProvider.LastConfigurationObject);
            Assert.AreSame(machineFormatterKey, registeredProvider.machineKey);
            Assert.AreSame(userFormatterKey, registeredProvider.userKey);

            Assert.IsTrue(
                MockRegistryKey.CheckAllClosed(machineFormattersKey, machineFormatterKey, machineOtherFormatterKey,
                                               userFormattersKey, userFormatterKey, userOtherFormatterKey));
        }
示例#34
0
 public static TextFormatter CreateTextFormatter(string template)
 {
     TextFormatterData data = new TextFormatterData();
     data.Template.Value = template;
     return new TextFormatter(data);
 }
        public void RegisteredFormatterDataProviderIsCalledWithNoOverrides()
        {
            MockConfigurationElementManageabilityProvider registeredProvider
                = new MockConfigurationElementManageabilityProvider();
            Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders
                = new Dictionary<Type, ConfigurationElementManageabilityProvider>();
            subProviders.Add(typeof(TextFormatterData), registeredProvider);
            provider = new LoggingSettingsManageabilityProvider(subProviders);

            TextFormatterData formatterData = new TextFormatterData("name", "template");
            section.Formatters.Add(formatterData);

            provider.OverrideWithGroupPolicies(section, true, machineKey, userKey);

            Assert.IsTrue(registeredProvider.called);
            Assert.AreSame(formatterData, registeredProvider.LastConfigurationObject);
            Assert.AreEqual(null, registeredProvider.machineKey);
            Assert.AreEqual(null, registeredProvider.userKey);
        }