Ведение журнала Serilog Cloudwatch без обогащения логов - PullRequest
1 голос
/ 06 апреля 2020

Я использовал 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

Облачные наблюдения

Я чувствую, что я упускаю что-то очевидное, но за свою жизнь я не вижу этого.

Есть идеи, почему бревна не обогащаются?

Большое спасибо,

М.

...