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 中使用。
在 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 中使用。