Если вы хотите добавить дополнительные свойства при записи журнала в хранилище таблиц azure с помощью Serilog, вам необходимо вызвать Enrich.FromLogContext()
и LogContext.PushProperty
. С помощью этих двух методов ваше приложение добавит дополнительные свойства в таблицу Azure. Дополнительные сведения см. В документе
Например,
- Установить SDK
Install-Package Serilog.Sinks.AzureTableStorage
Install-Package Serilog.Enrichers.Thread
Код
static void Main(string[] args)
{
var storage =CloudStorageAccount.Parse("");
string tableName = "log";
var _log = new LoggerConfiguration()
.Enrich.FromLogContext()
.WriteTo.AzureTableStorageWithProperties(storage, LogEventLevel.Information, storageTableName: tableName, propertyColumns: new string[] { "AccountId" , "Name" }) ;
var logger = _log.CreateLogger();
var exampleuser = new User { AccountId = 3, Name = "Allen" };
LogContext.PushProperty("AccountId", exampleuser.AccountId);
logger.Information("{@User}", exampleuser);
exampleuser = new User { AccountId = 1, Name = "Jim" };
LogContext.PushProperty("AccountId", exampleuser.AccountId);
logger.Information("{@User}", exampleuser);
Console.ReadLine();
}
class User
{
public int AccountId { get; set; }
public string Name { get; set; }
}