8 instantiations of LogBufferingFilterRule
Microsoft.AspNetCore.Diagnostics.Middleware (1)
Microsoft.AspNetCore.Diagnostics.Middleware.Tests (6)
Microsoft.Extensions.Telemetry (1)
36 references to LogBufferingFilterRule
Microsoft.AspNetCore.Diagnostics.Middleware (5)
Microsoft.AspNetCore.Diagnostics.Middleware.Tests (3)
Microsoft.Extensions.Telemetry (28)
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)