项目

单层解决方案:日志记录

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

Serilog输出目标

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信息添加到日志记录中。


在本文档中