/// <summary> /// Subscribes to the publisher of the specified type expression with the specified verbose level. /// </summary> /// <param name="typeExpression">An expression of the name of a type. Must include a * or ? to be considered an expression.</param> /// <param name="level">The level</param> public void SubscribeToType(string typeExpression, VerboseLevel level) { if (typeExpression == null) { throw new ArgumentNullException(nameof(typeExpression)); } m_subscriber.Subscribe(PublisherFilter.CreateType(typeExpression), MessageAttributeFilter.Create(level), false); }
/// <summary> /// Ignore all messages of this verbose level. /// </summary> public void IgnoreAssembly(string assemblyExpression, VerboseLevel level) { if (assemblyExpression == null) { throw new ArgumentNullException(nameof(assemblyExpression)); } m_subscriber.Subscribe(PublisherFilter.CreateAssembly(assemblyExpression), MessageAttributeFilter.Create(level), true); }
/// <summary> /// Subscribes to the publisher of the specified assembly with the specified verbose level. /// </summary> public void SubscribeToAssembly(Assembly assembly, VerboseLevel level) { if (assembly == null) { throw new ArgumentNullException(nameof(assembly)); } m_subscriber.Subscribe(PublisherFilter.CreateAssembly(assembly), MessageAttributeFilter.Create(level), false); }
/// <summary> /// Ignore all messages of this verbose level. /// </summary> public void IgnoreType(Type type, VerboseLevel level) { if (type == null) { throw new ArgumentNullException(nameof(type)); } m_subscriber.Subscribe(PublisherFilter.CreateType(type), MessageAttributeFilter.Create(level), true); }
/// <summary> /// Adds/Modify/Deletes an existing subscription /// </summary> public void Subscribe(PublisherFilter publisherFilter, MessageAttributeFilter attributeFilter, bool isIgnoreSubscription) { if (publisherFilter == null) { throw new ArgumentNullException(nameof(publisherFilter)); } if (m_disposed) { return; } lock (m_syncRoot) { if (m_disposed) { return; } if (m_allSubscriptions == null) { if (attributeFilter == null) { return; } m_allSubscriptions = new List <SubscriptionInfo>(); m_allSubscriptions.Add(new SubscriptionInfo(publisherFilter, attributeFilter, isIgnoreSubscription)); } else { for (int x = 0; x < m_allSubscriptions.Count; x++) { if (m_allSubscriptions[x].PublisherFilter.ContainsTheSameLogSearchCriteria(publisherFilter)) { if (attributeFilter == null) { m_allSubscriptions.RemoveAt(x); return; } m_allSubscriptions[x].AttributeFilter = attributeFilter; m_allSubscriptions[x].IsIgnoreSubscription = isIgnoreSubscription; return; } } if (attributeFilter == null) { return; } m_allSubscriptions.Add(new SubscriptionInfo(publisherFilter, attributeFilter, isIgnoreSubscription)); } } m_recalculateRoutingTable(); }
/// <summary> /// Subscribes to all publishers with the specified verbose level. /// </summary> public void SubscribeToAll(VerboseLevel level) { m_subscriber.Subscribe(PublisherFilter.CreateUniversal(), MessageAttributeFilter.Create(level), false); }
/// <summary> /// Ignore all messages of this verbose level. /// </summary> public void IgnoreAll(VerboseLevel level) { m_subscriber.Subscribe(PublisherFilter.CreateUniversal(), MessageAttributeFilter.Create(level), true); }
public SubscriptionInfo(PublisherFilter publisherFilter, MessageAttributeFilter attributeFilter, bool isIgnoreSubscription) { PublisherFilter = publisherFilter; AttributeFilter = attributeFilter; IsIgnoreSubscription = isIgnoreSubscription; }
/// <summary> /// Adds/Modify/Deletes an existing subscription /// </summary> public void Subscribe(PublisherFilter publisherFilter, MessageAttributeFilter attributeFilter, bool isIgnoreSubscription) { if (publisherFilter == null) throw new ArgumentNullException(nameof(publisherFilter)); if (m_disposed) return; lock (m_syncRoot) { if (m_disposed) return; if (m_allSubscriptions == null) { if (attributeFilter == null) return; m_allSubscriptions = new List<SubscriptionInfo>(); m_allSubscriptions.Add(new SubscriptionInfo(publisherFilter, attributeFilter, isIgnoreSubscription)); } else { for (int x = 0; x < m_allSubscriptions.Count; x++) { if (m_allSubscriptions[x].PublisherFilter.ContainsTheSameLogSearchCriteria(publisherFilter)) { if (attributeFilter == null) { m_allSubscriptions.RemoveAt(x); return; } m_allSubscriptions[x].AttributeFilter = attributeFilter; m_allSubscriptions[x].IsIgnoreSubscription = isIgnoreSubscription; return; } } if (attributeFilter == null) return; m_allSubscriptions.Add(new SubscriptionInfo(publisherFilter, attributeFilter, isIgnoreSubscription)); } } m_recalculateRoutingTable(); }
public bool ContainsTheSameLogSearchCriteria(PublisherFilter other) { return(m_filterType == other.m_filterType && m_text == other.m_text); }
public bool ContainsTheSameLogSearchCriteria(PublisherFilter other) { return m_filterType == other.m_filterType && m_text == other.m_text; }