Я использовал Serilog в прошлом и обогащенные бревна с различными свойствами. Однако я играю с новыми AWS Lambda Serverless шаблонами, использующими. net core 3.1, и не могу получить журналы для обогащения. Я пробовал это в основном консольном приложении c с тем же результатом.
Пример: код:
class Program
{
static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.AWSSeriLog(GetAwsSerilogConfiguration())
.Enrich.FromLogContext()
.Enrich.WithMachineName()
.CreateLogger();
using (LogContext.PushProperty("A", 1))
{
Log.Information("Starting web host");
Console.WriteLine("Hello World!");
}
}
private static AWSLoggerConfig GetAwsSerilogConfiguration()
{
var environmentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
return new AWSLoggerConfig
{
LogGroup = $"AwsLoggingTestConsoleApp/{environmentName ?? "Development"}",
Region = RegionEndpoint.APSoutheast2.SystemName
};
}
}
На следующих снимках экрана из Cloudwatch Logs и Insights показан сгенерированный журнал по этому коду. Расширенные свойства 'A' и MachineName не отображаются
Журналы Cloudwatch
Облачные наблюдения
Я чувствую, что я упускаю что-то очевидное, но за свою жизнь я не вижу этого.
Есть идеи, почему бревна не обогащаются?
Большое спасибо,
М.