如何为上下文禁用日志

时间:2019-04-16 20:06:49

标签: .net-core entity-framework-core

我也升级到了.net core 2.2和EF 2.2。现在,当我从DbSet中获取一个表时,对于表中的每一行,都有一条日志行,并且这行将永远占用。如何禁用此功能,因为我没有.net core 2.0中的日志?

ex:对于日志行,我在每一行中都使用它:

[15:58:02 DBG] Context 'BookContext' started tracking 'Book' entity.
 Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see key values.

由于我的表有23000条记录,所以我也有23000条日志行!

我的serilog日志配置如下:

"Serilog": {
        "MinimumLevel": {
            "Default": "Debug",
            "Override": {
                "Microsoft": "Debug"
            }
        },

2 个答案:

答案 0 :(得分:0)

您可以这样

"Serilog": {
    "MinimumLevel": {
        "Default": "Debug",
        "Override": {
        "Microsoft.EntityFrameworkCore.Database.Command": "Error",
        "Microsoft": "Debug",
        }
    },

答案 1 :(得分:0)

我在 appsettings.json 中使用以下配置。 @Khaled 的回答是 json 格式的级别错误。谢谢,有帮助。

我希望这能帮助到这个帖子的人。

我的配置如下:

"Serilog": {
"Using": [ "Serilog.Sinks.MSSqlServer" ],
"MinimumLevel": "Debug",
"Override": {
  "Microsoft.EntityFrameworkCore.Database.Command": "Error",
  "Microsoft": "Debug"
},