public FilterOnCategoryBuilder(ILoggingConfigurationOptions context, string logFilterName) :base(context) { categoryFilter = new CategoryFilterData() { Name = logFilterName }; LoggingSettings.LogFilters.Add(categoryFilter); }
/// <summary> /// <para>Adds an <see cref="CategoryFilterData"/> into the collection.</para> /// </summary> /// <param name="exceptionTypeData"> /// <para>The <see cref="CategoryFilterData"/> to add. The value can not be a <see langword="null"/> reference (Nothing in Visual Basic).</para> /// </param> /// <remarks> /// <para>If a reference already exists in the collection by <seealso cref="CategoryFilterData.Name"/>, it will be replaced with the new reference.</para> /// </remarks> /// <exception cref="ArgumentNullException"> /// <para><paramref name="exceptionTypeData"/> is a <see langword="null"/> reference (Nothing in Visual Basic).</para> /// </exception> /// <exception cref="InvalidOperationException"> /// <para><seealso cref="CategoryFilterData.Name"/> is a <see langword="null"/> reference (Nothing in Visual Basic).</para> /// </exception> public void Add(CategoryFilterData exceptionTypeData) { if (exceptionTypeData == null) { throw new ArgumentNullException("configurationSection"); } if (exceptionTypeData.Name == null) { throw new InvalidOperationException(SR.ExceptionCategoryFilterDataName); } BaseAdd(exceptionTypeData.Name, exceptionTypeData); }
public void CanCreateCategoryFilterFromEmptyCategoryConfiguration() { NamedElementCollection<CategoryFilterEntry> categoryEntries = new NamedElementCollection<CategoryFilterEntry>(); CategoryFilterData filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed); MockLogObjectsHelper helper = new MockLogObjectsHelper(); ILogFilter filter = LogFilterCustomFactory.Instance.Create(context, filterData, helper.configurationSource, reflectionCache); ; Assert.IsNotNull(filter); Assert.AreEqual(filter.GetType(), typeof(CategoryFilter)); Assert.AreEqual(0, ((CategoryFilter)filter).CategoryFilters.Count); Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilter)filter).CategoryFilterMode); }
public void CanCreateCategoryFilterFromEmptyCategoryConfiguration() { var categoryEntries = new NamedElementCollection<CategoryFilterEntry>(); var filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.DenyAllExceptAllowed); var helper = new MockLogObjectsHelper(); helper.loggingSettings.LogFilters.Add(filterData); ILogFilter filter = GetFilter(filterData.Name, helper.configurationSource); Assert.IsNotNull(filter); Assert.AreEqual(filter.GetType(), typeof(CategoryFilter)); Assert.AreEqual(0, ((CategoryFilter)filter).CategoryFilters.Count); Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, ((CategoryFilter)filter).CategoryFilterMode); }
public ILogFilter Assemble(IBuilderContext context, LogFilterData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { CategoryFilterData castedObjectConfiguration = (CategoryFilterData)objectConfiguration; ICollection <string> categoryFilters = new List <string>(); foreach (CategoryFilterEntry entry in castedObjectConfiguration.CategoryFilters) { categoryFilters.Add(entry.Name); } ILogFilter createdObject = new CategoryFilter( castedObjectConfiguration.Name, categoryFilters, castedObjectConfiguration.CategoryFilterMode); return(createdObject); }
public void CanCreatePoliciesForCategoryFilter() { CategoryFilterData data = new CategoryFilterData(); data.Type = typeof(CategoryFilter); data.Name = "name"; data.CategoryFilterMode = CategoryFilterMode.DenyAllExceptAllowed; data.CategoryFilters.Add(new CategoryFilterEntry("foo")); data.CategoryFilters.Add(new CategoryFilterEntry("bar")); loggingSettings.LogFilters.Add(data); using(var container = CreateContainer()) { CategoryFilter createdObject = (CategoryFilter)container.Resolve<ILogFilter>("name"); Assert.IsNotNull(createdObject); Assert.AreEqual(CategoryFilterMode.DenyAllExceptAllowed, createdObject.CategoryFilterMode); Assert.AreEqual(2, createdObject.CategoryFilters.Count); Assert.IsTrue(createdObject.CategoryFilters.Contains("foo")); Assert.IsTrue(createdObject.CategoryFilters.Contains("bar")); } }
public void SetUp() { settings = (LoggingSettings)Context.GetConfiguration(LoggingSettings.SectionName); originalMinPriority = settings.MinimumPriority; SetDenyAllExceptAllowedMode(); CategoryFilterData cat = new CategoryFilterData(); cat.Name = "foo"; settings.CategoryFilters.Add(cat); filter = new LogFilter(new LoggingConfigurationView(Context)); log = CommonUtil.GetDefaultLogEntry(); }
public void CanCreateCategoryFilterFromNonEmptyCategoryConfiguration() { NamedElementCollection<CategoryFilterEntry> categoryEntries = new NamedElementCollection<CategoryFilterEntry>(); categoryEntries.Add(new CategoryFilterEntry("category1")); categoryEntries.Add(new CategoryFilterEntry("category2")); categoryEntries.Add(new CategoryFilterEntry("category3")); CategoryFilterData filterData = new CategoryFilterData("category", categoryEntries, CategoryFilterMode.AllowAllExceptDenied); MockLogObjectsHelper helper = new MockLogObjectsHelper(); helper.loggingSettings.LogFilters.Add(filterData); ILogFilter filter = GetFilter(filterData.Name, helper.configurationSource); Assert.IsNotNull(filter); Assert.AreEqual(filter.GetType(), typeof(CategoryFilter)); Assert.AreEqual(3, ((CategoryFilter)filter).CategoryFilters.Count); Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category1")); Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category2")); Assert.IsTrue(((CategoryFilter)filter).CategoryFilters.Contains("category3")); Assert.IsFalse(((CategoryFilter)filter).CategoryFilters.Contains("category4")); Assert.AreEqual(CategoryFilterMode.AllowAllExceptDenied, ((CategoryFilter)filter).CategoryFilterMode); }
public void CanCreateLogWriter() { CategoryFilterData data = new CategoryFilterData(); data.Type = typeof(CategoryFilter); data.Name = "name"; data.CategoryFilterMode = CategoryFilterMode.DenyAllExceptAllowed; data.CategoryFilters.Add(new CategoryFilterEntry("foo")); data.CategoryFilters.Add(new CategoryFilterEntry("bar")); loggingSettings.LogFilters.Add(data); loggingSettings.TraceListeners.Add(new MockTraceListenerData("mock1")); loggingSettings.TraceListeners.Add(new MockTraceListenerData("mock2")); TraceSourceData sourceData = new TraceSourceData("name", SourceLevels.All); sourceData.TraceListeners.Add(new TraceListenerReferenceData("mock1")); sourceData.TraceListeners.Add(new TraceListenerReferenceData("mock2")); loggingSettings.TraceSources.Add(sourceData); loggingSettings.SpecialTraceSources = new SpecialTraceSourcesData(); loggingSettings.SpecialTraceSources.AllEventsTraceSource = new TraceSourceData("all", SourceLevels.All); loggingSettings.SpecialTraceSources.NotProcessedTraceSource = new TraceSourceData("not processed", SourceLevels.Warning); loggingSettings.SpecialTraceSources.ErrorsTraceSource = new TraceSourceData("errors", SourceLevels.Error); loggingSettings.SpecialTraceSources.ErrorsTraceSource.TraceListeners.Add(new TraceListenerReferenceData("mock1")); loggingSettings.DefaultCategory = "name"; loggingSettings.LogWarningWhenNoCategoriesMatch = true; loggingSettings.TracingEnabled = false; InitializeContainer(); LogWriter createdObject = container.Resolve<LogWriter>(); Assert.IsNotNull(createdObject); CategoryFilter filter = createdObject.GetFilter<CategoryFilter>(); Assert.IsNotNull(filter); Assert.AreEqual(2, filter.CategoryFilters.Count); Assert.IsTrue(filter.CategoryFilters.Contains("foo")); Assert.IsTrue(filter.CategoryFilters.Contains("bar")); Assert.AreEqual(1, createdObject.TraceSources.Count); }