Skip to content

Commit 89168cf

Browse files
authored
Added log filters to DurableTask packages in a way that the user can override via appsettings.json as desired (#1625)
Signed-off-by: Whit Waldo <[email protected]>
1 parent d4ff671 commit 89168cf

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/Dapr.Workflow/WorkflowServiceCollectionExtensions.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@
1212
// ------------------------------------------------------------------------
1313

1414
using System;
15+
using System.Linq;
1516
using System.Net.Http;
1617
using Microsoft.Extensions.Configuration;
1718
using Microsoft.Extensions.DependencyInjection;
1819
using Microsoft.Extensions.DependencyInjection.Extensions;
20+
using Microsoft.Extensions.Logging;
1921

2022
namespace Dapr.Workflow;
2123

@@ -40,6 +42,19 @@ public static IServiceCollection AddDaprWorkflow(
4042
serviceCollection.AddDaprClient(lifetime: lifetime);
4143
serviceCollection.AddHttpClient();
4244
serviceCollection.AddHostedService<WorkflowLoggingService>();
45+
46+
// Configure default logging levels for the DurableTask packages (can be overridden by consumer in appsettings.json)
47+
serviceCollection.Configure<LoggerFilterOptions>(options =>
48+
{
49+
if (!HasExistingFilter(options, "Dapr.DurableTask.Grpc"))
50+
options.AddFilter("Dapr.DurableTask.Grpc", LogLevel.Error);
51+
if (!HasExistingFilter(options, "Dapr.DurableTask.Client.Grpc"))
52+
options.AddFilter("Dapr.DurableTask.Client.Grpc", LogLevel.Error);
53+
if (!HasExistingFilter(options, "Dapr.DurableTask.Worker"))
54+
options.AddFilter("Dapr.DurableTask.Worker", LogLevel.Error);
55+
if (!HasExistingFilter(options, "Dapr.DurableTask.Worker.Grpc"))
56+
options.AddFilter("Dapr.DurableTask.Worker.Grpc", LogLevel.Error);
57+
});
4358

4459
switch (lifetime)
4560
{
@@ -73,4 +88,7 @@ public static IServiceCollection AddDaprWorkflow(
7388

7489
return serviceCollection;
7590
}
91+
92+
private static bool HasExistingFilter(LoggerFilterOptions options, string categoryName)
93+
=> options.Rules.Any(rule => rule.CategoryName == categoryName);
7694
}

0 commit comments

Comments
 (0)