Ich versuche SeriLog-Einstellungen wie Log-Mindest-Level und Rolling-Dateipfad aus einer Konfigurationsdatei hinzuzufügen. Der Standard ist hart zu codieren sie wie folgt aus:Zugriff auf AppSettings im Startup-Klassenkonstruktor in .NET Core
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile("C:/LogFiles/log-{Date}.txt")
.CreateLogger();
}
Grundsätzlich, ich brauche Konstruktor zugreifen können Werte von appsettings.json im Startup. Etwas wie folgt aus:
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Is((LogEventLevel)Enum.Parse(typeof(LogEventLevel),
Configuration.GetValue<string>("AppSettings.MinimumLoggingLevel")))
.WriteTo.RollingFile(Configuration.GetValue<string>("AppSettings.RollingFilePath"))
Ich fand die Configuration.GetValue
Syntax in einem anderen SO posten, aber es gibt immer null
.
Was macht Ihr appsettings.json aussehen? –