项目

分层解决方案:日志记录

ABP Studio 的分层解决方案模板已为日志记录功能进行了完整配置。所有应用程序均配置为使用 Serilog 库进行结构化日志记录,并采用统一方式进行日志配置。本文档将解释这一通用的日志记录结构。

Serilog 接收器(Sinks)

Serilog 库配置为将日志并行写入以下目标(也称为接收器):

  • 控制台:日志将写入应用程序执行的标准输出。当应用程序在容器中运行时,控制台日志便于您轻松查看日志信息。
  • 文件:日志将写入执行应用程序 Logs 文件夹下的 logs.txt 文件。文件日志记录在本地计算机上运行应用程序时非常有用,当遇到问题时可以轻松查看日志。此接收器仅在 DEBUG 模式下配置,生产环境中将不可用(您可以在 Program.cs 文件中更改此行为)。
  • ABP Studio:这是由 ABP Studio 提供的接收器。它会将所有日志发送到 ABP Studio,以便您可以在 ABP Studio 的应用程序监控面板中轻松实时监控日志。

该解决方案可以与 Serilog 支持的任何接收器协同工作。您可以根据需求添加更多接收器、移除预装的接收器或微调其配置。

Program.cs 文件

Program.cs 文件是配置日志系统的关键入口点。在此处配置是为了确保应用程序启动之初就能初始化和启用日志记录。

附加信息

我们在应用程序的模块类中使用了 ABP Serilog 丰富器。这是通过在模块类的 OnApplicationInitialization 方法中添加 app.UseAbpSerilogEnrichers(); 代码行来实现的。该 ASP.NET Core 中间件会将当前的租户用户、客户端和关联 ID 信息添加到日志记录中。


在本文档中