【发布时间】:2021-08-12 18:14:22
【问题描述】:
我正在使用 ASP.NET Core Blazor WebAssembly 进行开发。
最初我在 Visual Studio 2019 中创建了一个 Blazor wasm 项目,其中客户端、服务器和共享都是同一个项目的一部分。
项目发展壮大,我决定将项目拆分为单独的 git 存储库。
我正在使用 Serilog.Sinks.BrowserHttp,在我拆分项目之前它运行良好。
现在我在控制台 (Chrome) 中遇到错误:
在项目被拆分为两个独立的 git 存储库之前,所有日志记录都保存在数据库中,但拆分后,只有服务器端日志存储在数据库中。
在拆分 Blazor 项目后,我是否可以将日志直接存储到我的 Microsoft SQL 数据库中?
这是我的 Program.cs 记录器配置: Logger Configuration
我只是想,由于服务器和客户端都在同一个项目中并且一切正常,问题一定是记录器假设它们仍然在同一个文件夹中。
【问题讨论】:
-
什么在服务器端处理
/ingest?您是否安装/配置了 Serilog.AspNetCore.Ingestion? (需要更多细节:-)) -
我正在使用服务器端中继通过 Serilog.AspNetCore.Ingestion 处理摄取。这个包在 server.csproj 中被引用。在服务器 startup.cs 中,我调用 app.UseSerilogIngestion()。与 github 上的 Serilog.Sinks.BrowserHttp 示例不同,不再有对客户端的项目引用,因为它是不同存储库的一部分。我根本没有配置 Serilog.AspNetCore.Ingestion。
-
将记录器配置的端点设置为另一个路径会将 POST 错误更改为该路径 404。
-
_我根本没有配置 Serilog.AspNetCore.Ingestion。 _ 听起来这将是你的问题;退房:github.com/nblumhardt/serilog-sinks-browserhttp/blob/dev/… - HTH!
-
谢谢,我在服务器端检查了 startup.cs,我正在使用 app.UseSerilogIngestion();那里。我是否需要对 SerilogIngestionOptions 或 SerilogIngestionMiddleware 进行任何调整,以便服务器从客户端接收日志?现在默认的 SerilogIngestionOptions.EndpointPath 是 /ingest。
标签: serilog