diff --git a/OF DL.Core/OF DL.Core.csproj b/OF DL.Core/OF DL.Core.csproj
index 2ef833a..35c037e 100644
--- a/OF DL.Core/OF DL.Core.csproj
+++ b/OF DL.Core/OF DL.Core.csproj
@@ -19,6 +19,7 @@
+
diff --git a/OF DL.Core/Services/SeqLoggingService.cs b/OF DL.Core/Services/SeqLoggingService.cs
new file mode 100644
index 0000000..6efcea4
--- /dev/null
+++ b/OF DL.Core/Services/SeqLoggingService.cs
@@ -0,0 +1,50 @@
+using OF_DL.Enumerations;
+using Serilog;
+using Serilog.Core;
+using Serilog.Events;
+
+namespace OF_DL.Services;
+
+public class SeqLoggingService : ILoggingService
+{
+ public SeqLoggingService()
+ {
+ LevelSwitch = new LoggingLevelSwitch();
+ InitializeLoggerWithSeq();
+ }
+
+ ///
+ /// Gets the level switch that controls runtime logging verbosity.
+ ///
+ public LoggingLevelSwitch LevelSwitch { get; }
+
+ ///
+ /// Updates the minimum logging level at runtime.
+ ///
+ /// The new minimum log level.
+ public void UpdateLoggingLevel(LoggingLevel newLevel)
+ {
+ LevelSwitch.MinimumLevel = (LogEventLevel)newLevel;
+ Log.Debug("Logging level updated to: {LoggingLevel}", newLevel);
+ }
+
+ ///
+ /// Returns the current minimum logging level.
+ ///
+ public LoggingLevel GetCurrentLoggingLevel() => (LoggingLevel)LevelSwitch.MinimumLevel;
+
+ private void InitializeLoggerWithSeq()
+ {
+ Log.Logger = new LoggerConfiguration()
+ .Enrich.FromLogContext()
+ .Enrich.WithProperty("Application", "OF_DL")
+ .Enrich.WithProperty("StartTime", $"{DateTime.Now:yyyy-MM-dd HH:mm:ss} ")
+ .Enrich.WithProperty("MachineName", Environment.MachineName)
+ .MinimumLevel.ControlledBy(LevelSwitch)
+ .WriteTo.File("logs/OFDL.txt", rollingInterval: RollingInterval.Day, restrictedToMinimumLevel: LogEventLevel.Error)
+ .WriteTo.Seq("https://seq.cajetan.dk")
+ .CreateLogger();
+
+ Log.Debug("Logging service initialized");
+ }
+}
diff --git a/OF DL/Program.cs b/OF DL/Program.cs
index 792eae2..0221cd2 100644
--- a/OF DL/Program.cs
+++ b/OF DL/Program.cs
@@ -84,7 +84,7 @@ public class Program(IServiceProvider serviceProvider)
{
// Set up dependency injection with LoggingService and ConfigService
ServiceCollection services = new();
- services.AddSingleton();
+ services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
ServiceProvider tempServiceProvider = services.BuildServiceProvider();