获取 NpgSql Entity Framework 查询文本
Get NpgSql Entity Framework query text
我正在使用 Npgsql.EntityFrameworkCore.PostgreSQL 2.2.0。
我希望能够看到将在数据库上执行的查询。
有什么办法吗?
通常情况下,如果您使用 .AddDbContext
或 .AddDbContextPool
进行服务注册,则无需显式配置 LoggerFactory
。 EF Core 自动获取现有的记录器工厂(已配置)并使用调试级别的日志来记录查询。
您也可以启用
builder.EnableSensitiveDataLogging(); // << Enables query parameter/value logging
builder.EnableDetailedErrors(); // << Enables Detailed Errors such as parameter mapping errors
builder.ConfigureWarnings(warnings =>
warnings.Log(CoreEventId.IncludeIgnoredWarning)); << Includes ignored warnings
您唯一需要做的就是相应地更改日志记录级别
"Logging": {
"LogLevel": {
....
"Microsoft.EntityFrameworkCore.Database.Command": "Information"
}
}
或者您可以使用自定义记录器工厂
public static readonly LoggerFactory MyLoggerFactory
= new LoggerFactory(new[]
{
new ConsoleLoggerProvider((category, level)
=> category == DbLoggerCategory.Database.Command.Name
&& level == LogLevel.Information, true)
});
我正在使用 Npgsql.EntityFrameworkCore.PostgreSQL 2.2.0。 我希望能够看到将在数据库上执行的查询。 有什么办法吗?
通常情况下,如果您使用 .AddDbContext
或 .AddDbContextPool
进行服务注册,则无需显式配置 LoggerFactory
。 EF Core 自动获取现有的记录器工厂(已配置)并使用调试级别的日志来记录查询。
您也可以启用
builder.EnableSensitiveDataLogging(); // << Enables query parameter/value logging
builder.EnableDetailedErrors(); // << Enables Detailed Errors such as parameter mapping errors
builder.ConfigureWarnings(warnings =>
warnings.Log(CoreEventId.IncludeIgnoredWarning)); << Includes ignored warnings
您唯一需要做的就是相应地更改日志记录级别
"Logging": {
"LogLevel": {
....
"Microsoft.EntityFrameworkCore.Database.Command": "Information"
}
}
或者您可以使用自定义记录器工厂
public static readonly LoggerFactory MyLoggerFactory
= new LoggerFactory(new[]
{
new ConsoleLoggerProvider((category, level)
=> category == DbLoggerCategory.Database.Command.Name
&& level == LogLevel.Information, true)
});