net asp configuration asp.net-core .net-core serilog

asp - serilog configuration



Cómo anular una configuración de matriz de configuración Core de ASP.NET utilizando variables de entorno (1)

Después de ver la configuración en el depurador encontré la respuesta.

Serilog:WriteTo:0:Args:path

Así que necesito usar el índice de matriz (basado en cero) como si fuera un nombre.

Debajo de la captura de pantalla del depurador en caso de que ayude, también (gracias a Victor Hurdugaci en los comentarios), las pruebas unitarias son un buen lugar para buscar ejemplos.

LT;DR

En una aplicación Core de ASP.NET tengo un archivo de configuración appsettings.json que usa una matriz JSON para configurar una colección de configuraciones.

¿Cómo anulo una configuración de uno de los objetos de matriz utilizando variables de entorno?

Fondo

Estoy usando serilog en una aplicación central de ASP.NET y usando la Serilog.Settings.Configuration , para permitir que se configure utilizando appsettings.json .

La configuración es así:

{ "Serilog": { "Using": ["Serilog.Sinks.Literate"], "MinimumLevel": "Debug", "WriteTo": [ { "Name": "File", "Args": { "path": "%TEMP%//Logs//serilog-configuration-sample.txt" } } ], "Enrich": ["FromLogContext", "WithMachineName", "WithThreadId"], "Properties": { "Application": "Sample" } } }

Cuando esté implementado, deseo anular algunas de las configuraciones, por ejemplo, el Nivel Mínimo y la ruta al archivo de registro. Mi opción preferida es hacer esto a través de las variables de entorno, ya que estoy implementando en un Servicio de aplicaciones de Azure, así que usaré la configuración de la Aplicación a través del portal de administración de Azure (se consideran variables de entorno).

Puedo establecer fácilmente el Nivel Mínimo agregando una variable de entorno con el nombre: Serilog:MinimumLevel y el nombre de la aplicación Serilog:Properties:Application .

¿Cuál es el formato para especificar una configuración con una matriz?