繁体   English   中英

Serilog 没有记录到文件 ASP.Net Core 3.2

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM