using EonaCat.LogStack.Core;

namespace EonaCat.LogStack.Compatibility;

/// <summary>
/// Single entry point for dependency-free adapters. This allows applications
/// migrating from Serilog, log4net or NLog to keep their integration layer.
/// </summary>
public sealed class LoggingCompatibilityFacade
{
    public EonaCatSerilogAdapter Serilog { get; }
    public EonaCatLog4NetAdapter Log4Net { get; }
    public EonaCatNLogAdapter NLog { get; }

    public LoggingCompatibilityFacade(EonaCatLogStack logger)
    {
        Serilog = new EonaCatSerilogAdapter(logger);
        Log4Net = new EonaCatLog4NetAdapter(logger);
        NLog = new EonaCatNLogAdapter(logger);
    }
}
