[英]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.