60 instantiations of LogBufferingFilterRule
Microsoft.AspNetCore.Diagnostics.Middleware (1)
Buffering\PerIncomingRequestLoggingBuilderExtensions.cs (1)
104options.Rules.Add(new LogBufferingFilterRule(logLevel: logLevel));
Microsoft.AspNetCore.Diagnostics.Middleware.Tests (14)
Buffering\PerIncomingRequestLoggingBuilderExtensionsTests.cs (9)
57new(categoryName: "Program.MyLogger", logLevel: LogLevel.Information, eventId: 1, eventName: "number one"), 58new(logLevel: LogLevel.Information), 77new(categoryName: "Program.MyLogger", logLevel: LogLevel.Information, eventId: 1, eventName: "number one"), 78new(logLevel: LogLevel.Information), 83options.Rules.Add(new LogBufferingFilterRule(categoryName: "Program.MyLogger", 85options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Information)); 109new(categoryName: "Program.MyLogger", logLevel: LogLevel.Information, eventId: 1, eventName: "number one"), 110new(logLevel : LogLevel.Information), 114new(logLevel: LogLevel.Information),
Buffering\PerRequestLogBufferingIncludeScopesTests.cs (1)
36options.Rules.Add(new LogBufferingFilterRule(categoryName: "test", logLevel: LogLevel.Information));
Buffering\PerRequestLogBufferingOptionsCustomValidatorTests.cs (1)
21new LogBufferingFilterRule(categoryName: "**")
Logging\AcceptanceTests.cs (3)
867options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Debug)); 912options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Debug)); 913options.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)));
Microsoft.Extensions.Telemetry.Tests (44)
Buffering\GlobalBufferIncludeScopesTests.cs (2)
129options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Warning)); 152options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Warning));
Buffering\GlobalBufferLoggerBuilderExtensionsTests.cs (5)
48new ("Program.MyLogger", LogLevel.Information, 1, "number one", [new("region", "westus2"), new ("priority", 1)]), 49new (logLevel: LogLevel.Information), 78new(categoryName: "Program.MyLogger", logLevel: LogLevel.Information, eventId: 1, eventName: "number one"), 79new(logLevel : LogLevel.Information), 83new(logLevel: LogLevel.Information),
Buffering\GlobalBufferTests.cs (1)
139options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Warning));
Buffering\GlobalLogBufferingOptionsCustomValidatorTests.cs (1)
20new LogBufferingFilterRule(categoryName: "**")
Buffering\LogBufferingFilterRuleTests.cs (34)
19new LogBufferingFilterRule(), 20new LogBufferingFilterRule(eventId: 1), 21new LogBufferingFilterRule(logLevel: LogLevel.Information, eventId: 1), 22new LogBufferingFilterRule(logLevel: LogLevel.Information, eventId: 1), 23new LogBufferingFilterRule(logLevel: LogLevel.Warning), 24new LogBufferingFilterRule(logLevel: LogLevel.Warning, eventId: 2), 25new LogBufferingFilterRule(logLevel: LogLevel.Warning, eventId: 1), 26new LogBufferingFilterRule("Program1.MyLogger", LogLevel.Warning, 1), 27new LogBufferingFilterRule("Program.*MyLogger1", LogLevel.Warning, 1), 28new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1, attributes: [new("region2", "westus2")]), // inapplicable key 29new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1, attributes:[new("region", "westus3")]), // inapplicable value 30new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1, attributes:[new("region", "westus2")]), // the best rule - [11] 31new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 2), 32new LogBufferingFilterRule("Program.MyLogger", eventId: 1), 33new LogBufferingFilterRule(logLevel: LogLevel.Warning, eventId: 1), 34new LogBufferingFilterRule("Program", LogLevel.Warning, 1), 35new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning), 36new LogBufferingFilterRule("Program.MyLogger", LogLevel.Error, 1), 57new LogBufferingFilterRule(logLevel: LogLevel.Information, eventId: 1), 58new LogBufferingFilterRule(logLevel: LogLevel.Information, eventId: 1), 59new LogBufferingFilterRule(logLevel: LogLevel.Warning), 60new LogBufferingFilterRule(logLevel: LogLevel.Warning, eventId: 2), 61new LogBufferingFilterRule(logLevel: LogLevel.Warning, eventId: 1), 62new LogBufferingFilterRule("Program1.MyLogger", LogLevel.Warning, 1), 63new LogBufferingFilterRule("Program.*MyLogger1", LogLevel.Warning, 1), 64new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1), 65new LogBufferingFilterRule("Program.MyLogger*", LogLevel.Warning, 1), 66new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1, attributes:[new("region", "westus2")]), // the best rule 67new LogBufferingFilterRule("Program.MyLogger*", LogLevel.Warning, 1, attributes:[new("region", "westus2")]), // same as the best, but last and should be selected 84new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1, attributes:[new("priority", 1)]), 85new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1, attributes:[new("priority", 2)]), // the best rule 86new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1, attributes:[new("priority", 3)]), 87new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning, 1), 104new LogBufferingFilterRule("Program.MyLogger", LogLevel.Warning),
Logging\ExtendedLoggerTests.cs (1)
1000options.Rules.Add(new LogBufferingFilterRule(logLevel: LogLevel.Warning));
49 references to LogBufferingFilterRule
Microsoft.AspNetCore.Diagnostics.Middleware (5)
Buffering\IncomingRequestLogBuffer.cs (1)
30private readonly LogBufferingFilterRule[] _filterRules;
Buffering\PerRequestLogBufferingConfigureOptions.cs (1)
44foreach (LogBufferingFilterRule rule in parsedOptions.Rules)
Buffering\PerRequestLogBufferingOptions.cs (2)
74/// Gets or sets the collection of <see cref="LogBufferingFilterRule"/> used for filtering log messages for the purpose of further buffering. 84public IList<LogBufferingFilterRule> Rules { get; set; } = [];
Buffering\PerRequestLogBufferingOptionsCustomValidator.cs (1)
18foreach (LogBufferingFilterRule rule in options.Rules)
Microsoft.AspNetCore.Diagnostics.Middleware.Tests (5)
Buffering\PerIncomingRequestLoggingBuilderExtensionsTests.cs (4)
55List<LogBufferingFilterRule> expectedData = 75List<LogBufferingFilterRule> expectedData = 107List<LogBufferingFilterRule> initialData = 112List<LogBufferingFilterRule> updatedData =
Buffering\PerRequestLogBufferingOptionsCustomValidatorTests.cs (1)
19Rules = new List<LogBufferingFilterRule>
Microsoft.Extensions.Telemetry (21)
Buffering\GlobalBuffer.cs (1)
21internal LogBufferingFilterRule[] LastKnownGoodFilterRules;
Buffering\GlobalLogBufferingConfigureOptions.cs (1)
44foreach (LogBufferingFilterRule rule in parsedOptions.Rules)
Buffering\GlobalLogBufferingOptions.cs (2)
73/// Gets or sets the collection of <see cref="LogBufferingFilterRule"/> used for filtering log messages for the purpose of further buffering. 82public IList<LogBufferingFilterRule> Rules { get; set; } = [];
Buffering\GlobalLogBufferingOptionsCustomValidator.cs (1)
17foreach (LogBufferingFilterRule rule in options.Rules)
Buffering\LogBufferingFilterRule.cs (1)
21/// Initializes a new instance of the <see cref="LogBufferingFilterRule"/> class.
Buffering\LogBufferingFilterRuleSelector.cs (15)
23private static readonly ObjectPool<List<LogBufferingFilterRule>> _rulePool = 24PoolFactory.CreateListPool<LogBufferingFilterRule>(); 26public static LogBufferingFilterRule[] SelectByCategory(IList<LogBufferingFilterRule> rules, string category) 28List<LogBufferingFilterRule> rulesOfCategory = _rulePool.Get(); 32foreach (LogBufferingFilterRule rule in rules) 48public static LogBufferingFilterRule? Select( 49LogBufferingFilterRule[] rules, 54LogBufferingFilterRule? currentBest = null; 55foreach (LogBufferingFilterRule ruleCandidate in rules) 66private static bool IsAttributesMatch(LogBufferingFilterRule rule, IReadOnlyList<KeyValuePair<string, object?>>? attributes) 83private static bool IsBetter(LogBufferingFilterRule? currentBest, LogBufferingFilterRule ruleCandidate) 102private static bool IsMatch(LogBufferingFilterRule rule, string category) 135private static bool IsMatch(LogBufferingFilterRule rule, LogLevel logLevel, EventId eventId)
Microsoft.Extensions.Telemetry.Tests (18)
Buffering\GlobalBufferLoggerBuilderExtensionsTests.cs (3)
46List<LogBufferingFilterRule> expectedData = 76List<LogBufferingFilterRule> initialData = 81List<LogBufferingFilterRule> updatedData =
Buffering\GlobalLogBufferingOptionsCustomValidatorTests.cs (1)
18Rules = new List<LogBufferingFilterRule>
Buffering\LogBufferingFilterRuleTests.cs (14)
17var rules = new List<LogBufferingFilterRule> 40LogBufferingFilterRule[] categorySpecificRules = LogBufferingFilterRuleSelector.SelectByCategory(rules, "Program.MyLogger"); 41LogBufferingFilterRule? result = LogBufferingFilterRuleSelector.Select( 55var rules = new List<LogBufferingFilterRule> 71LogBufferingFilterRule[] categorySpecificRules = LogBufferingFilterRuleSelector.SelectByCategory(rules, "Program.MyLogger"); 72LogBufferingFilterRule? result = LogBufferingFilterRuleSelector.Select(categorySpecificRules, LogLevel.Warning, 1, [new("region", "westus2")]); 82var rules = new List<LogBufferingFilterRule> 91LogBufferingFilterRule[] categorySpecificRules = LogBufferingFilterRuleSelector.SelectByCategory(rules, "Program.MyLogger"); 92LogBufferingFilterRule? result = LogBufferingFilterRuleSelector.Select(categorySpecificRules, LogLevel.Warning, 1, [new("priority", "2")]); 102var rules = new List<LogBufferingFilterRule> 106LogBufferingFilterRule[] myLoggerRules = LogBufferingFilterRuleSelector.SelectByCategory(rules, "Program.MyLogger"); 107LogBufferingFilterRule[] otherLoggerRules = LogBufferingFilterRuleSelector.SelectByCategory(rules, "Program.OtherLogger"); 110LogBufferingFilterRule? myLoggerResult = LogBufferingFilterRuleSelector.Select(myLoggerRules, LogLevel.Warning, 1, attributes: null); 111LogBufferingFilterRule? otherLoggerResult = LogBufferingFilterRuleSelector.Select(otherLoggerRules, LogLevel.Warning, 1, attributes: null);