首页 > 解决方案 > Serilog 停止写入文件

问题描述

我正在使用 Serilog 通过以下配置在我的 WebApi 中记录错误。

private static readonly string LogFileName = System.Web.Hosting.HostingEnvironment.MapPath(@"~/App_Data/Logs/Service.log");

    private static void ConfigureLogging(ContainerBuilder builder)
    {
        var loggerConfig = new LoggerConfiguration()
            .ReadFrom.AppSettings()
            .WriteTo.Console()
            .WriteTo.File(LogFileName != null ? LogFileName : "C:/Temp/Logs/Service.log",
                shared: true,
                rollingInterval: RollingInterval.Day);
        // configure global logger for logging in owin middleware
        Log.Logger = loggerConfig.CreateLogger();
        builder.Register(_ => Log.Logger).As<ILogger>();  }`

使用应用设置

<appSettings>
    <add key="serilog:minimum-level" value="Warning" />
</appSettings>

问题是,它只记录一次。服务还活着,我可以发送更多成功的请求。而且我还看到控制台中记录的请求/错误。但它不会在日志文件中添加。

但是,如果我编辑 WebConfig - 从警告更改为详细然后返回警告,所以没有真正的更改 - 它会再次记录。

标签: c#.netserilog.net-framework-4.8

解决方案


对于调试和诊断,请使用此自日志,它可能会向您显示应用程序面临的确切错误或问题。在这里检查这个https://github.com/serilog/serilog/wiki/Debugging-and-Diagnostics


推荐阅读