es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo obtener el valor de una configuración en appsettings.json desde la configuración en programs.cs en una aplicación Blazor?

¿Alguien puede decirme cómo obtener el valor de un archivo appsettings.json en mi archivo program.cs en una aplicación Blazor (core 5)?
Básicamente solo necesito escribir correctamente “var seqUrl =”. Creo.
Por favor y gracias.

En mi método Main de Program.cs tengo

IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile(“appsettings.json”, false, true)
.AddJsonFile(“appsettings.Development.json”, true, true)
.Build();
var levelSwitch = new LoggingLevelSwitch();
var seqUrl = configuration.GetSection(“SeriLog”).GetSection(“RutaDeEscritura”).GetSection(“Nombre:Seq”).GetSection(“Argumentos”).GetSection(“serverUrl”).Value;
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(configuration)
.MinimumLevel.ControlledBy(levelSwitch)
.WriteTo.Seq(seqUrl,
apiKey: “xxxxxxxxxxxx”,
controlLevelSwitch: levelSwitch)
.CreateLogger();

Mi appsettings.json se ve así.

“SeriLog”: {
“Utilizando”: [
“Serilog.Sinks.File”,
“Serilog.Sinks.Seq”,
“Serilog.Sinks.Console”
],
“NivelMínimo”: {
“Predeterminado”: “Información”,
“Anulación”: {
“Microsoft”: “Advertencia”,
“sistema”: “Advertencia”
}
},
“Enriquecer”: [“ConNombreMáquina”, “ConNombreUsuarioEntorno”, “ConClienteIP”, “ConAgenteCliente”, “ConNombreEntorno”, “ConPID”, “ConNombreProceso”, “ConIDHilo”],

“RutaDeEscritura”: [
{
“Nombre”: “Archivo”,
“Argumentos”: {
“ruta”: “C:\Temp\Logs\JsonLog.json”,
“formateador”: “Serilog.Formatting.Json.JsonFormatter, Serilog”,
“intervaloDeRotación”: “Día”
}
},
{
“Nombre”: “Seq”,
“Argumentos”: {
“serverUrl”: “http://xxxxxxxxxxx”
}
}
]
}

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el valor de la clave “serverUrl” bajo la sección “Seq” en el archivo appsettings.json, puedes utilizar el siguiente código en tu archivo Program.cs:

    var seqUrl = configuration.GetSection("SeriLog:WriteTo:1:Args:serverUrl").Value;
    

    Este código utiliza la interfaz IConfiguration y la clase ConfigurationBuilder para leer el archivo de configuración appsettings.json. El método GetSection se utiliza para navegar a través de la jerarquía JSON y obtener el valor de la clave “serverUrl” bajo la segunda sección “WriteTo”. La propiedad Value se utiliza para recuperar el valor real de la clave.

    Asegúrate de incluir las siguientes declaraciones using al principio de tu archivo Program.cs:

    using Microsoft.Extensions.Configuration;
    using Serilog;
    using Serilog.Events;
    using Serilog.Sinks.File;
    using Serilog.Sinks.Seq;
    using Serilog.Sinks.Console;
    

Comments are closed.