2
0
forked from sim0n00ps/OF-DL
OF-DL/OF DL.Core/Services/LoggingService.cs

39 lines
1.0 KiB
C#

using OF_DL.Enumerations;
using Serilog;
using Serilog.Core;
using Serilog.Events;
namespace OF_DL.Services;
public class LoggingService : ILoggingService
{
public LoggingService()
{
LevelSwitch = new LoggingLevelSwitch();
InitializeLogger();
}
public LoggingLevelSwitch LevelSwitch { get; }
public void UpdateLoggingLevel(LoggingLevel newLevel)
{
LevelSwitch.MinimumLevel = (LogEventLevel)newLevel;
Log.Debug("Logging level updated to: {LoggingLevel}", newLevel);
}
public LoggingLevel GetCurrentLoggingLevel() => (LoggingLevel)LevelSwitch.MinimumLevel;
private void InitializeLogger()
{
// Set the initial level to Error (until we've read from config)
LevelSwitch.MinimumLevel = LogEventLevel.Error;
Log.Logger = new LoggerConfiguration()
.MinimumLevel.ControlledBy(LevelSwitch)
.WriteTo.File("logs/OFDL.txt", rollingInterval: RollingInterval.Day)
.CreateLogger();
Log.Debug("Logging service initialized");
}
}