elsa-core/src/modules/Elsa.Diagnostics.ConsoleLogs/Extensions/ServiceCollectionExtensions.cs
Sipke Schoorstra 43108c2e48
Add diagnostics console logs (#7462)
* feat: add diagnostics console logs

* test: avoid secret-like redaction fixtures

* fix: address console logs review feedback

* fix: harden console log capture lifecycle

* fix: report console log drop summaries

* fix: address diagnostics review cleanups
2026-05-18 02:16:46 +02:00

29 lines
1.2 KiB
C#

using Elsa.Diagnostics.ConsoleLogs.Providers.InMemory;
using Elsa.Diagnostics.ConsoleLogs.RealTime;
using Elsa.Diagnostics.ConsoleLogs.Services;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
namespace Elsa.Diagnostics.ConsoleLogs.Extensions;
public static class ServiceCollectionExtensions
{
public static IServiceCollection AddConsoleLogsServices(this IServiceCollection services, Action<ConsoleLogsOptions>? configureOptions = null)
{
if (configureOptions != null)
services.Configure(configureOptions);
services.AddSignalR();
services.AddOptions<ConsoleLogsOptions>();
services.TryAddSingleton<IConsoleLogSourceRegistry, ConsoleLogSourceRegistry>();
services.TryAddSingleton<IConsoleLogRedactor, ConsoleLogRedactor>();
services.TryAddSingleton<ConsoleLineFormatter>();
services.TryAddSingleton<IConsoleLogProvider, InMemoryConsoleLogProvider>();
services.TryAddSingleton<ConsoleLogSubscriptionManager>();
services.TryAddSingleton<IConsoleLogCapture, ConsoleCaptureTee>();
services.AddHostedService<ConsoleLogCaptureHostedService>();
return services;
}
}