首页 > 解决方案 > 部署到 AWS Lambda 时出现 Serilog 错误

问题描述

在 IIS/Visual Studio (.netCore 3.1) 中本地运行时,我的 Serilog 运行良好,但是当我将其部署到 AWS Lambda 时,应用程序无法启动,并且在 CloudWatch 日志中出现以下错误:

System.InvalidOperationException:尝试激活“Serilog.AspNetCore.RequestLoggingMiddleware”时无法解析“Serilog.Extensions.Hosting.DiagnosticContext”类型的服务

任何想法这意味着什么或如何解决它?

编辑显示代码:

public static void Main(string[] args)
    {
        Log.Logger = new LoggerConfiguration()
            .WriteTo.Console()
            .CreateLogger();

        try
        {
            Log.Information("Starting up");

            CreateHostBuilder(args).Build().Run();
        }
        catch (Exception ex)
        {
            Log.Fatal(ex, "Application start-up failed");
        }
        finally
        {
            Log.CloseAndFlush();
        }

        CreateHostBuilder(args).Build().Run();
    }

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseSerilog()
    .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });

标签: amazon-web-services.net-coreaws-lambdaserilog

解决方案


推荐阅读