LambdaLoggerOptions не может быть переопределен в AWS lambda - PullRequest
0 голосов
/ 29 октября 2018

Я использую Amazon.Lambda.Logging.AspNetCore для записи логов в CloudWatch, и это ссылка на github . Это asp.netcore 2.1 c # лямбда. У меня есть два файла настроек приложения - appsettings.json и appsettings.staging.json. За исключением значений «Lambda.Logging» все остальные настройки были переопределены из appsettings.staging.json file

appsettings.json настройки добавлены ниже

"Lambda.Logging": {
    "IncludeCategory": true,
    "IncludeLogLevel": true,
    "IncludeNewline":  true,
    "LogLevel": {
        "Default": "Debug",
        "System": "Debug",
        "Microsoft": "Information"
    }
},
"Logging": {
    "LogLevel": {
        "Default": "Information",
        "System": "Information",
        "Microsoft": "Information"        
    }
},

и переопределенные настройки на appsettings.staging.json

"Lambda.Logging": {
    "IncludeCategory": false,
    "LogLevel": {
        "Default": "Information",
        "System": "Information",
        "Microsoft": "Information"
    }
},

Пакеты, добавленные в лямбду:

<PackageReference Include="Amazon.Lambda.Core" Version="1.0.0" />
<PackageReference Include="Amazon.Lambda.Logging.AspNetCore" Version="2.0.0" />
<PackageReference Include="Amazon.Lambda.Serialization.Json" Version="1.3.0" />
<PackageReference Include="Amazon.Lambda.SQSEvents" Version="1.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.1.1" />

И код для сборки конфигурации

var environmentName = Environment.GetEnvironmentVariable(Env.DotNetCoreEnvironment) ?? string.Empty;

var location = Assembly.GetExecutingAssembly().Location;
var builder = new ConfigurationBuilder()
.SetBasePath(Path.GetDirectoryName(location))
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{environmentName.ToLower()}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();

return builder.Build();

Есть ли что-то, чего мне не хватает. Или этот пакет просто прочитал настройки из одного файла

Обратите внимание: Я проверил выход файла "appsettings.staging.json". А также другие конфигурации были переопределены.

...