Ale*_*exu 4 serilog asp.net-core
我正在尝试在 ASP.Net Core 应用程序中使用 Serilog,但无法让它工作。一旦我在 Program.cs 中添加 .UseSerilog(),通常进入控制台屏幕的消息就会消失,并且不会创建任何日志文件。以下是我启用 Serilog 的方法:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序设置:
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Grpc": "Information",
"Microsoft": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
Run Code Online (Sandbox Code Playgroud)
据我所知,默认情况下,日志文件似乎会被写入 VS.net 项目下的“logs”文件夹中(至少从我查看的示例来看是这样)。我想念什么?
小智 10
配置日志记录到文件
\n在 ASP.NET Core 中配置 Serilog,更改 Serilog 设置块中的 appsettings.json 文件以包含另一个接收器(文件),该文件将创建一个具有文件接收器的 Serilog 记录器,用于写入日志详细信息 document\xef\xbc\x9a
\n "AllowedHosts": "*",\n\n "Serilog": {\n "MinimumLevel": "Information",\n "Override": {\n "Microsoft.AspNetCore": "Warning"\n },\n "WriteTo": [\n {\n "Name": "Console "\n },\n {\n "Name": "File",\n "Args": {\n "path": "Serilogs\\\\AppLogs.log",\n "formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog"\n }\n }\n ]\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n如上所示,文件接收器需要一个参数,在该参数中我们需要指定日志文件名和文件路径。该路径可以是绝对路径或相对路径。这里,我指定了一个相对路径,这将在应用程序文件夹中创建一个文件夹 serilogs 并写入该文件夹中的 AppLogs.log 文件。
\n然后在startup.cs中添加代码,在构造函数中读取这些Serilog设置,如下所示\xef\xbc\x9a
\n public Startup(IConfiguration configuration)\n {\n Configuration = configuration;\n\n Log.Logger = new LoggerConfiguration()\n .ReadFrom.Configuration(configuration)\n .CreateLogger();\n }\nRun Code Online (Sandbox Code Playgroud)\n然后更改program.cs中的代码,指定Host Builder在ASP.NET Core中使用Serilog而不是默认的logger\xef\xbc\x9a
\n public static IHostBuilder CreateHostBuilder(string[] args) =>\n Host.CreateDefaultBuilder(args)\n\n .UseSerilog()\n .ConfigureWebHostDefaults(webBuilder =>\n {\n webBuilder.UseStartup<Startup>();\n });\n }\nRun Code Online (Sandbox Code Playgroud)\n然后运行项目,生成日志记录:
\n\n\n具体参考文档:
\nhttps://procodeguide.com/programming/aspnet-core-logging-with-serilog/
\n| 归档时间: |
|
| 查看次数: |
8875 次 |
| 最近记录: |