在C#中配置数据库日志级别需通过EF Core的日志机制,使用LogTo方法设置输出目标与事件类型,结合LogLevel控制详细程度,如Information记录SQL执行,Debug用于调试,同时可启用EnableSensitiveDataLogging显示参数,注意生产环境安全。

在C#中配置数据库日志级别,通常依赖于你使用的数据访问技术。如果你使用的是 Entity Framework Core(EF Core),这是最常见的情况,它提供了完善的日志记录机制。
EF Core 使用 .NET 的通用日志接口 Microsoft.Extensions.Logging,你可以通过依赖注入来配置日志行为。
步骤如下:
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
var services = new ServiceCollection();
// 添加 EF Core 上下文,并启用日志
services.AddDbContext<YourDbContext>(options =>
{
    options.UseSqlServer("YourConnectionString");
    
    // 启用日志,输出到控制台
    options.LogTo(Console.WriteLine, new[] {
        Microsoft.EntityFrameworkCore.Diagnostics.RelationalEventId.CommandExecuted,
        Microsoft.EntityFrameworkCore.Diagnostics.CoreEventId.ContextInitialized
    });
    // 或者设置更详细的日志级别
    options.EnableSensitiveDataLogging(); // 可选:显示参数值(注意安全)
});
你也可以统一通过 ILoggerFactory 来配置:
services.AddLogging(builder =>
{
    builder.AddConsole();
    builder.SetMinimumLevel(LogLevel.Information);
});
EF Core 可以输出多种类型的数据库相关日志,取决于你设置的日志事件类型和级别。常见的输出内容包括:
EnableSensitiveDataLogging)Executing DbCommand [Parameters=[@__id_0='1'], CommandType='Text', CommandTimeout='30'] SELECT "Users"."Id", "Users"."Name" FROM "Users" WHERE "Users"."Id" = @__id_0 Executed DbCommand (5ms) [Parameters=[@__id_0='1'], CommandType='Text', CommandTimeout='30']
你可以通过筛选事件 ID 或设置最低日志级别来控制输出内容:
例如,只记录慢查询(超过 100ms):
options.LogTo(Console.WriteLine, LogLevel.Information)
       .EnableSensitiveDataLogging()
       .ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.CommandTimeout));
以上就是C#中如何配置数据库的日志级别?输出哪些信息?的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号