[英]Serilog not logging to file ASP.Net Core 3.2
我正在尝试在我的WebAssembly
Blazor
应用程序中使用Serilog.AspNetCore 3.2.0
登录到一个文件。
我在这里使用了 Nicholas Blumhardt 的博客条目;
在 ASP.NET Core 3.2 中设置 Serilog
在我的 blazor.server 应用程序的Program.cs
中,我有以下代码;
public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.WriteTo.Console(new RenderedCompactJsonFormatter())
.WriteTo.File(new RenderedCompactJsonFormatter(), "/logs/log.ndjson")
.CreateLogger();
try
{
Log.Information("Starting up");
BuildWebHost(args).Run();
}
catch (Exception ex)
{
Log.Fatal(ex, "Application start-up failed");
}
finally
{
Log.CloseAndFlush();
}
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseConfiguration(new ConfigurationBuilder()
.AddCommandLine(args)
.Build())
.UseStartup<Startup>()
.Build();
我安装了以下软件包;
Serilog.AspNetCore 3.2.0
Serilog.Sinks.File 4.1.0
Serilog.Sinks.MSSqlServer 5.5.0
(为了完整性,我包括了 MSSql Sink 参考,因为我的下一步是查看登录到数据库)。
但是,当我在本地调试时,以及当我发布到 IIS 中的服务器时,没有创建 log.ndjson 吗?
默认情况下,如果您从 visual studio 运行,该文件将在项目目录中创建。 所以这完全取决于您如何运行应用程序。 所以你必须改变文件的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.