forked from sim0n00ps/OF-DL
Added to custom logging service using Seq.
This commit is contained in:
parent
977b8e8733
commit
75b3384b4e
@ -23,4 +23,8 @@
|
||||
<ProjectReference Include="..\OF DL\OF DL.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Serilog.Sinks.Seq" Version="7.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
50
Cajetan.OF-DL/Services/SeqLoggingService.cs
Normal file
50
Cajetan.OF-DL/Services/SeqLoggingService.cs
Normal file
@ -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();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the level switch that controls runtime logging verbosity.
|
||||
/// </summary>
|
||||
public LoggingLevelSwitch LevelSwitch { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Updates the minimum logging level at runtime.
|
||||
/// </summary>
|
||||
/// <param name="newLevel">The new minimum log level.</param>
|
||||
public void UpdateLoggingLevel(LoggingLevel newLevel)
|
||||
{
|
||||
LevelSwitch.MinimumLevel = (LogEventLevel)newLevel;
|
||||
Log.Debug("Logging level updated to: {LoggingLevel}", newLevel);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the current minimum logging level.
|
||||
/// </summary>
|
||||
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");
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user