Die Serilog-Dateisenke protokolliert nicht in der erwarteten Datei, wenn ReadFrom.Configuration(configuration) fehltC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Die Serilog-Dateisenke protokolliert nicht in der erwarteten Datei, wenn ReadFrom.Configuration(configuration) fehlt

Post by Anonymous »

Ich versuche, die Serilog-Dateisenke basierend auf der Dokumentation in meiner ASP.Net Core 2.2-Anwendung zum Laufen zu bringen. Ich kann in meiner Anwendung keine Protokolle sehen.
Was fehlt mir?

Program.cs:

Code: Select all

using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Serilog;
using System;

namespace Scrubber
{
public class Program
{
private static string _environmentName;

public static void Main(string[] args)
{
try
{
var iWebHost = CreateWebHostBuilder(args).Build();
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{_environmentName}.json", optional: true, reloadOnChange: true)
.Build();

var logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration.GetSection("Serilog"))
.CreateLogger();
Log.Logger = logger;
Log.Information("Application starting");
iWebHost.Run();
}
catch(Exception exception)
{
Log.Error(exception.ToString());
}
finally
{
Log.CloseAndFlush();
}
}

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, config) =>
{
//config.ClearProviders();
_environmentName = hostingContext.HostingEnvironment.EnvironmentName;
})
.UseStartup();
}
}
Appsettings.development.json:

Code: Select all

{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"Serilog": {
"WriteTo": [
{
"Name": "File",
"Args": {
"path": "log.txt",
"rollingInterval": "Day"
}
}
]
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post