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;
}
}