Это происходит с приложением .Net Core ASP.Net Lambda с использованием Microsoft.Extensions.Logging и AWS.Logger.AspNetCore.После (повторного) развертывания / публикации лямбды в журнале CW отображается начальный вызов (с использованием Postman) 2.Например:
2019/02/10T01.29.56 - 7f017ed5-857d-41af-8a6d-624ddc2be024
2019/02/10/[$LATEST]24ab4b53f17d4be3a2507331e968bbf7
Первый содержит около десятка записей, как внутренних сообщений Microsoft MVC, так и моих явных вызовов в журнале.Например:
[2/10/19 1:29:58 AM] Debug: Incoming POST requests to /api/carrierprogram/LaunchSendOffer/57e30620-571b-4b68-a86b-2ef4cb53f1a8/28
[2/10/19 1:29:58 AM] Debug: ASP.NET Core Request PathBase: /Stage, Path: /api/carrierprogram/LaunchSendOffer/57e30620-571b-4b68-a86b-2ef4cb53f1a8/28
Второй журнал имеет немного другое содержимое, и сообщения не отформатированы:
[40m[32minfo[39m[22m[49m: Controllers.CarrierProgramController[0]
LaunchSendOffer(0) for programId '57e30620-571b-4b68-a86b-2ef4cb53f1a8', offerId '28'
Второй запрос, отправленный в Lambda, успешно возвращается, но тот же явныйЖурналы вызовов, записанные при первом вызове, вообще не отображаются в первом журнале.
Вот фрагмент из файла Startup.cs, который заполняет репозиторий служб DI
public void ConfigureServices(IServiceCollection services)
{
...
var awsConfig = Log.CompleteAwsConfiguration(Configuration.GetAWSLoggingConfigSection());
var loggerFactory = new LoggerFactory()
.AddAWSProvider(awsConfig,
formatter: (logLevel, message, exception) => $"[{DateTime.UtcNow}] {logLevel}: {message}")
.AddConsole()
.AddDebug();
services.AddSingleton(loggerFactory);
...
}
И как регистраторупоминается в классе контроллера
private static ILogger<CarrierProgramController> _log;
public CarrierProgramController(..., ILogger<CarrierProgramController> logger)
{
_log = logger;
}
и в примере вызова:
_log.LogInformation($"LaunchSendOffer(0) for programId '{programId}', offerId '{offerId}'");
Я подозреваю, что это связано с тем, как кодируется приложение (DI C #), но это в основномчерный ящик, и это трудно устранить.Мои вопросы
Почему там генерируется 2 журнала?Почему записи во втором журнале не отформатированы (без префикса уровня журнала)?Почему последующие звонки в Lambda не добавляют в журнал (ы)?