C#面试题更新 2026-08-05

请描述在 .NET Core 应用程序中利用 Microsoft.Extensions.Logging 记录日志的具体方法,包括日志的创建、使用以及配置输出等关键步骤。

编码实现技术原理.NET Core

考察说明

考查对 .NET Core 内置日志框架 Microsoft.Extensions.Logging 的基本使用流程的理解。

回答思路

  1. 【回答框架 1】Microsoft.Extensions.Logging 是 .NET Core 的默认日志抽象,通过依赖注入提供 ILogger<T> 接口。在 Startup 或 Program 中配置日志提供程序(如控制台、文件、数据库等),然后通过构造函数注入 ILogger<T> 使用。
  2. 【回答框架 2】创建日志:在类中定义 logger = loggerFactory.CreateLogger<类名>() 或 ILogger<T> logger;调用 logger.LogInformation、LogWarning、LogError 等方法,方法包含消息模板和参数。
  3. 【回答框架 3】配置:在 Program.cs 的 CreateDefaultBuilder 中默认包含控制台和调试输出,可自定义 AddConsole、AddFile 等扩展方法,或通过配置文件设置日志级别和过滤器,如 SetMinimumLevel(LogLevel.Information)。
  4. 【回答框架 4】日志级别:Trace、Debug、Information、Warning、Error、Critical,按顺序严重程度递增,可控制输出。
  5. 【关键点 1】使用依赖注入获取 ILogger<T>。
  6. 【关键点 2】通过 logger.LogInformation 等方法记录日志,支持模板占位符。
  7. 【关键点 3】配置日志提供程序和处理级别,例如 AddConsole 和 SetMinimumLevel。
  8. 【易错点 1】不要使用字符串连接构造日志消息,应使用日志模板,避免不必要的性能开销。
  9. 【易错点 2】注意日志级别过滤,避免在生产环境输出过多敏感信息。
  10. 【易错点 3】确保日志提供程序已配置,否则日志将不会输出。