c# - 从日志中排除 ASP.NET - 申请消息
问题描述
所以我一直在编写一个 WebAPI,现在我希望它在整个运行过程中记录一些特定的信息,但由于某种原因,它正在记录这些消息。[APPLICATION STARTED!!!] 是我的实现,但它下面的所有内容都不是,我不希望它出现在我的日志文件中。
这就是我的 appsettings 的样子:
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "None",
"Microsoft.Hosting.Lifetime": "None",
"Microsoft.AspNet": "None"
}
},
这是我调用 services.AddLogging 的地方
services.AddLogging(configure =>
{
this.ConfigureLogger();
Log.Information("[APPLICATION STARTED!!!]");
configure.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);
configure.AddSerilog();
});
配置记录器:
public void ConfigureLogger()
{
string timestamp = DateTime.Now.ToString("dd-MM-yyyy_HH-mm-ss");
string day = DateTime.Now.ToString("dd-MM");
Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File($@"C:\apiCEFJUD\api\Logs\LogsRoboCEFJud_Dia{day}\LogsRoboCEFJud{timestamp}.txt")
.CreateLogger();
}
程序.cs:
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.SuppressStatusMessages(true)
.UseStartup<Startup>();
}
}
日志消息:
[15:57:18 INF] [APPLICATION STARTED!!!]
[15:57:19 INF] User profile is available. Using 'C:\Users\ATIVA-DANIEL TI\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
[15:57:20 INF] Request starting HTTP/1.1 GET http://localhost:6009/index.html
[15:57:20 INF] Request finished in 69.5148ms 200 text/html;charset=utf-8
[15:57:20 INF] Request starting HTTP/1.1 GET http://localhost:6009/swagger/v0/swagger.json
[15:57:20 INF] Request finished in 106.0999ms 200 application/json;charset=utf-8
解决方案
推荐阅读
- android - 如何实现searchable.xml?
- database - 以体重为指标的比赛
- asp.net - 如何在 ASP.NET MVC 中路由表单
- powerapps - PowerApps 中的离线功能
- ios - 如何在 admob 中禁用 IDFA 使用
- java - 如果用户继续输入无效输入,如何继续要求输入整数
- python-3.x - 数据框爆炸并使用正确的数据进行映射
- java - 在 Play framework 2.3 中设置 cookie sameSite
- python-3.x - 根据 Condition Pandas Dataframe 拆分列数据
- c - 无限循环,程序忽略行