using OF_DL.Enumerations;
using Serilog.Core;

namespace OF_DL.Services;

public interface ILoggingService
{
    /// <summary>
    /// Gets the level switch that controls runtime logging verbosity.
    /// </summary>
    LoggingLevelSwitch LevelSwitch { get; }

    /// <summary>
    /// Updates the minimum logging level at runtime.
    /// </summary>
    void UpdateLoggingLevel(LoggingLevel newLevel);

    /// <summary>
    /// Returns the current minimum logging level.
    /// </summary>
    LoggingLevel GetCurrentLoggingLevel();
}
