using Microsoft.Extensions.DependencyInjection; using Serilog; using Serilog.Events; namespace JdeScoping.ConfigManager.Cli.Tests; /// /// Helper for setting up logging in CLI tests. /// public static class TestLoggingHelper { /// /// Adds Serilog logging to a service collection configured to write to Console. /// This allows tests to capture log output via Console.SetOut. /// public static IServiceCollection AddTestLogging(this IServiceCollection services, LogEventLevel level = LogEventLevel.Information) { var logger = new LoggerConfiguration() .MinimumLevel.Is(level) .WriteTo.Console(outputTemplate: "{Message:lj}{NewLine}{Exception}") .CreateLogger(); services.AddLogging(builder => builder.AddSerilog(logger, dispose: true)); return services; } }