我试图在Serilog.Sinks.AzureTableStorage中使用AzureTableStorageWithProperties
,并且我有一个附加到上下文的属性;像这样的东西:
using (LogContext.PushProperty("CameraId", camera.Id)
{
/* ... */
}
所以,我想知道如何配置记录器来考虑这个属性,并在它出现在上下文时为它创建一个列。
我试过这个,但它似乎没有起作用:
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.WriteTo.AzureTableStorageWithProperties(
"my-connection-string",
storageTableName: "mytable",
propertyColumns: new[] { "CameraId" })
.CreateLogger();
另外,正如您可能已经注意到的那样,我正在使用Serilog.Settings.Configuration,所以我希望您能告诉我如何将其添加到我的appsettings.json
中。
谢谢
答案 0 :(得分:0)
我弄清楚为什么我没有看到我的属性:我需要调用Enrich.FromLogContext()
并且该属性显示在Azure表存储中。
我很努力地看到我们如何在propertyColumns
(或者环境变量)中指定appsettings.json
,但没有运气...... :(