Serilog未记录到文件ASP.Net Core 3.2

问题描述 投票:0回答:1

我正在尝试在Serilog.AspNetCore 3.2.0 WebAssembly应用程序中使用Blazor登录到文件。

我在这里使用了Nicholas Blumhardt的博客条目;

Setting up Serilog in ASP.NET Core 3.2

在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.0Serilog.Sinks.File 4.1.0Serilog.Sinks.MSSqlServer 5.5.0

((为了完成,我包括了MSSql Sink参考,因为下一步是要登录到数据库)。

但是,当我在本地调试以及在IIS中发布到服务器时,没有创建log.ndjson吗?

c# asp.net-core blazor serilog blazor-server-side
1个回答
0
投票

默认情况下,如果从Visual Studio运行,将在项目目录中创建文件。因此,这取决于您如何运行应用程序。因此您必须更改文件的路径。

© www.soinside.com 2019 - 2024. All rights reserved.