LibLog 中的上下文日志记录

Contextual Logging within LibLog

在 Serilog 中,我可以使用以下代码将多个属性推送到日志中。我在中间件中执行此操作以从上下文中推送属性。我如何使用 LibLog 执行此操作?

using (LogContext.PushProperties(
                        new PropertyEnricher(Constants.CorelationId, id),
                        new PropertyEnricher(Constants.ClientId, context.GetClientId()),
                        new PropertyEnricher(IdentityServiceConstants.RemoteIpAddress, context.Request.RemoteIpAddress)))
                {
                    await next();
                }

在哪里可以找到有关 OpenMappedContext 和 NestedContext 的更多信息?

以下似乎有效:

var logger = LogProvider.For<SomeType>();

using (LogProvider.OpenMappedContext("Foo", "12"))
using (LogProvider.OpenMappedContext("Bar", "34"))
using (LogProvider.OpenMappedContext("Last", "56"))
{
    logger.InfoFormat("testing {somePlaceholder}", 78);
}

关于使用 OpenMappedContext 和 OpenNestedContext 的文档似乎并不多。然而,LibLog src 代码似乎只是在幕后吸收 PushProperty 方法以供在 OpenMappedContext 中使用。