C#C
C#3y ago
Trenyc

❔ Serilog.Settings.Configuration file sink not writing to file?

I'm using the below configuration for Serilog trying to get it to write to both console and file, but it's only writing to console. Does anyone see what's wrong? Been looking at this for awhile now and would appreciate a second set of eyes.

JSON:
{
  "Serilog": {
    "Using": [ "Serilog.Sinks.File", "Serilog.Sinks.Console" ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Information"
      }
    },
    "WriteTo": [
      {
        "Name": "File",
        "Args": {
          "path": "/logs/TestWorker.log",
          "rollingInterval": "Day",
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] [{SourceContext}] | {Message}{NewLine}{Exception}"
        }
      },
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] [{SourceContext}] | {Message}{NewLine}{Exception}"
        }
      }
    ],
    "Application": "The7LegionsVoteHelper"
  }
}

Code (Program class):
    private static async Task Main(string[] args)
    {
        IHost host = Host.CreateDefaultBuilder(args)
            .ConfigureLogging((context, builder) =>
            {
                builder.ClearProviders();
                builder.AddSerilog();
            })
            .ConfigureServices(services =>
            {
                services.AddHostedService<Worker>();
            })
            .Build();

        IConfiguration configuration = host.Services.GetRequiredService<IConfiguration>();

        Log.Logger = new LoggerConfiguration()
            .ReadFrom.Configuration(configuration)
            .CreateLogger();

        await host.RunAsync();
    }
Was this page helpful?