using Microsoft.Extensions.Logging; namespace ZB.MOM.WW.MxGateway.Server.Diagnostics; public static class GatewayLoggerExtensions { /// Begins a gateway log scope with the specified scope properties. /// Logger used for diagnostic output. /// Scope properties to apply. /// A disposable that ends the scope when disposed. public static IDisposable? BeginGatewayScope( this ILogger logger, GatewayLogScope scope) { ArgumentNullException.ThrowIfNull(logger); ArgumentNullException.ThrowIfNull(scope); return logger.BeginScope(scope.ToDictionary()); } }