/// <summary>
 /// Initializes a new instance of the <see cref="LogMessageCollectionFilteringAccessor{TMessage}"/> class.
 /// </summary>
 /// <param name="collection">The unfiltered collection the accessor should work on.</param>
 /// <param name="filter">
 /// The filter the accessor should apply (<c>null</c> to create an accessor without filtering capabilities).
 /// </param>
 internal LogMessageCollectionFilteringAccessor(
     LogMessageCollection <TMessage> collection,
     ILogMessageCollectionFilter <TMessage> filter)
 {
     mCollection = collection ?? throw new ArgumentNullException(nameof(collection));
     mFilter     = filter;
 }
示例#2
0
        /// <summary>
        /// Gets a collection providing the message set that pass the specified filter.
        /// </summary>
        /// <param name="filter">Filter to apply.</param>
        /// <returns>The filtered message collection.</returns>
        public FilteredLogMessageCollection <TMessage> GetFilteredCollection(ILogMessageCollectionFilter <TMessage> filter)
        {
            var collection = new FilteredLogMessageCollection <TMessage>(this, filter);

            mFilteredCollections.Add(new WeakReference <FilteredLogMessageCollection <TMessage> >(collection));
            return(collection);
        }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="LogMessageCollection{TMessage}"/> class.
 /// </summary>
 /// <param name="unfiltered">Collection containing the unfiltered message set.</param>
 /// <param name="filter">Filter to apply to the unfiltered message set.</param>
 internal FilteredLogMessageCollection(
     LogMessageCollection <TMessage> unfiltered,
     ILogMessageCollectionFilter <TMessage> filter) : base(unfiltered)
 {
     Filter = filter ?? throw new ArgumentNullException(nameof(filter));
 }
示例#4
0
 /// <summary>
 /// Gets a filtering accessor that matches log messages using the specified filter.
 /// </summary>
 /// <param name="filter">Filter to use.</param>
 /// <returns>The filtering accessor.</returns>
 public LogMessageCollectionFilteringAccessor <TMessage> GetFilteringAccessor(ILogMessageCollectionFilter <TMessage> filter)
 {
     return(new LogMessageCollectionFilteringAccessor <TMessage>(this, filter));
 }