我正在通过SeriLog将日志写入AzureDocumentDB。看起来SeriLog已经拥有自己的日志结构,并且所有自定义字段都位于 Properties 字段下(请检查附件)。
在那种情况下,如何使用自定义字段作为数据库分区键?
当我使用 / Properties / UserId 作为分区键时,所有日志都会被CosmosDB拒绝,并说必须为此操作提供分区键值。如何将UserId指定为分区键?
任何帮助将不胜感激。
logger.LogInformation(“会话已完成:{@SessionCompleteEvent}”,sessionCompleteEvent);
Serilog应用程序设置:
{
"Serilog": {
"WriteTo": {
"CosmosDB": {
"Name": "Logger","Args": {
"configureLogger": {
"Filter": [
{
"Name": "ByIncludingOnly","Args": {
"expression": "StartsWith(@Properties['SourceContext'],'MyApp')"
}
}
],"WriteTo": [
{
"Name": "AzureDocumentDB","Args": {
"endpointUrl": "https://analytics-test.documents.azure.com:345/","authorizationKey": "app_key","databaseName": "db0","collectionName": "my_app","restrictedToMinimumLevel": "Information"
}
}
]
}
}
}
}
}
}