8 instantiations of LogBufferingFilterRule
Microsoft.AspNetCore.Diagnostics.Middleware (1)
Buffering\PerIncomingRequestLoggingBuilderExtensions.cs (1)
100options.Rules.Add(new LogBufferingFilterRule(logLevel: logLevel));
Microsoft.AspNetCore.Diagnostics.Middleware.Tests (6)
Buffering\PerIncomingRequestLoggingBuilderExtensionsTests.cs (2)
75options.Rules.Add(new LogBufferingFilterRule(categoryName: "Program.MyLogger", 77options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Information));
Buffering\PerRequestLogBufferingOptionsCustomValidatorTests.cs (1)
21new LogBufferingFilterRule(categoryName: "**")
Logging\AcceptanceTests.cs (3)
867options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Debug)); 916options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Debug)); 917options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Debug, categoryName: "logatrequest"));
Microsoft.Extensions.Telemetry (1)
Buffering\GlobalBufferLoggingBuilderExtensions.cs (1)
86.Configure(options => options.Rules.Add(new LogBufferingFilterRule(logLevel: logLevel)));
36 references to LogBufferingFilterRule
Microsoft.AspNetCore.Diagnostics.Middleware (5)
Buffering\IncomingRequestLogBuffer.cs (1)
29private readonly LogBufferingFilterRule[] _filterRules;
Buffering\PerRequestLogBufferingConfigureOptions.cs (1)
43foreach (LogBufferingFilterRule rule in parsedOptions.Rules)
Buffering\PerRequestLogBufferingOptions.cs (2)
66/// Gets or sets the collection of <see cref="LogBufferingFilterRule"/> used for filtering log messages for the purpose of further buffering. 76public IList<LogBufferingFilterRule> Rules { get; set; } = [];
Buffering\PerRequestLogBufferingOptionsCustomValidator.cs (1)
18foreach (LogBufferingFilterRule rule in options.Rules)
Microsoft.AspNetCore.Diagnostics.Middleware.Tests (3)
Buffering\PerIncomingRequestLoggingBuilderExtensionsTests.cs (2)
47List<LogBufferingFilterRule> expectedData = 67List<LogBufferingFilterRule> expectedData =
Buffering\PerRequestLogBufferingOptionsCustomValidatorTests.cs (1)
19Rules = new List<LogBufferingFilterRule>
Microsoft.Extensions.Telemetry (28)
Buffering\GlobalBuffer.cs (1)
37private LogBufferingFilterRule[] _lastKnownGoodFilterRules;
Buffering\GlobalLogBufferingConfigureOptions.cs (1)
43foreach (LogBufferingFilterRule rule in parsedOptions.Rules)
Buffering\GlobalLogBufferingOptions.cs (2)
65/// Gets or sets the collection of <see cref="LogBufferingFilterRule"/> used for filtering log messages for the purpose of further buffering. 74public IList<LogBufferingFilterRule> Rules { get; set; } = [];
Buffering\GlobalLogBufferingOptionsCustomValidator.cs (1)
17foreach (LogBufferingFilterRule rule in options.Rules)
Buffering\LogBufferingFilterRule.cs (1)
24/// Initializes a new instance of the <see cref="LogBufferingFilterRule"/> class.
Buffering\LogBufferingFilterRuleSelector.cs (22)
25private static readonly ObjectPool<List<LogBufferingFilterRule>> _rulePool = 26PoolFactory.CreateListPool<LogBufferingFilterRule>(); 28private readonly ObjectPool<List<LogBufferingFilterRule>> _cachedRulePool = 29PoolFactory.CreateListPool<LogBufferingFilterRule>(); 30private readonly ConcurrentDictionary<(LogLevel, EventId), List<LogBufferingFilterRule>> _ruleCache = new(); 32public static LogBufferingFilterRule[] SelectByCategory(IList<LogBufferingFilterRule> rules, string category) 34List<LogBufferingFilterRule> rulesOfCategory = _rulePool.Get(); 38foreach (LogBufferingFilterRule rule in rules) 56foreach (((LogLevel, EventId) key, List<LogBufferingFilterRule> value) in _ruleCache) 64public LogBufferingFilterRule? Select( 65IList<LogBufferingFilterRule> rules, 71List<LogBufferingFilterRule> ruleCandidates = _ruleCache.GetOrAdd((logLevel, eventId), _ => 73List<LogBufferingFilterRule> candidates = _cachedRulePool.Get(); 74foreach (LogBufferingFilterRule rule in rules) 86LogBufferingFilterRule? currentBest = null; 87foreach (LogBufferingFilterRule ruleCandidate in ruleCandidates) 98private static bool IsAttributesMatch(LogBufferingFilterRule rule, IReadOnlyList<KeyValuePair<string, object?>>? attributes) 115private static bool IsBetter(LogBufferingFilterRule? currentBest, LogBufferingFilterRule ruleCandidate) 134private static bool IsMatch(LogBufferingFilterRule rule, string category) 167private static bool IsMatch(LogBufferingFilterRule rule, LogLevel logLevel, EventId eventId)