Added serilog enricher

This commit is contained in:
Max
2024-06-16 21:08:26 +02:00
parent c1d18d5b47
commit 03daea46e7
3 changed files with 58 additions and 15 deletions

View File

@@ -0,0 +1,25 @@
using Serilog.Core;
using Serilog.Events;
namespace DotBased.Logging.Serilog;
public class BasedSerilogEnricher : ILogEventEnricher
{
public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
{
var asmPropValue = "ASM";
var sourcePropValue = "Unknown";
if (logEvent.Properties.TryGetValue("SourceContext", out var sourceContextValue))
asmPropValue = sourceContextValue.ToString().Replace("\"", "");
if (logEvent.Properties.TryGetValue("Application", out var appValue))
sourcePropValue = appValue.ToString().Replace("\"", "");
var assemblyProperty = propertyFactory.CreateProperty(BasedSerilog.ExtraProperties.AssemblyProp, asmPropValue);
var sourceProperty = propertyFactory.CreateProperty(BasedSerilog.ExtraProperties.SourceProp, sourcePropValue);
var callerProperty = propertyFactory.CreateProperty(BasedSerilog.ExtraProperties.CallerProp, sourcePropValue);
logEvent.AddPropertyIfAbsent(assemblyProperty);
logEvent.AddPropertyIfAbsent(sourceProperty);
logEvent.AddPropertyIfAbsent(callerProperty);
}
}