繁体   English   中英

如何关闭 ASP.NET 和实体框架为每个请求完成的默认日志记录?

[英]How do I turn off the default logging done by ASP.NET and Entity Framework for each request?

如何关闭 ASP.NET 和实体框架为每个请求完成的默认日志记录?

我还找不到如何关闭此注销。 我使用 Asp.NET Core 3.1 和 Serilog.Extensions.Logging.File

我正在获取多个实体框架日志,例如 Executed DbCommand 等等。 当我运行项目并关闭时,它可以生成 1000 多行日志。 这是我的日志文件。

2021-05-18T15:05:00.3079413+05:30 80000004-0000-e500-b63f-84710c7967bb [INF] Request finished in 2474.1038ms 200 application/json; charset=utf-8 (791a596a)
2021-05-18T15:05:00.3157337+05:30 80000008-0000-f100-b63f-84710c7967bb [INF] Executed DbCommand ("73"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"
""SELECT TOP(1) [h].[HeaderCurrencyBarID], [h].[EURBuy], [h].[EURSell], [h].[ModifiedOn], [h].[USDBuy], [h].[USDSell]
FROM [HeaderCurrencyBar] AS [h]
ORDER BY [h].[ModifiedOn] DESC, [h].[HeaderCurrencyBarID] DESC" (0723d8ff)

这是我在程序 class 中的配置方法:

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
    })
    .ConfigureLogging((hostingContext, logging) =>
    {
        logging.ClearProviders();
        logging.AddConfiguration((IConfiguration)hostingContext.Configuration.GetSection("Logging"));
        logging.AddFile("Logs/log.txt", retainedFileCountLimit: 31);
    });

这是我的 appsettting.json 文件

"Logging": {
    "LogLevel": {
      "Default": "None",
      "Microsoft": "None",
      "Microsoft.Hosting.Lifetime": "None"
    }
  },

我想自动删除 1 个月前的日志文件。 我已经在这个项目中进行了设置,但它不起作用。

在这里附上了示例项目。

假设您的日志记录设置已在 ConfigureLogging 上正确加载

将您的 appsettting.json 文件更改为:

"Logging": {
    "LogLevel": {
      "Default": "None",
      "Microsoft": "None",
      "Microsoft.Hosting.Lifetime": "None"
      "Microsoft.EntityFrameworkCore": "None"
    }
  },

资源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM