It is desirable to be able to dynamically change the log level of the application as well as alternate any other configurable pieces.
- Compare available configuration injection options
- Compare the downsides of each approach and decide on which one to pick and where
- Understand how non-json sources can be leveraged for namemespace-level logging settings
- Understand how Azure Key Vault configuration fits into this setup
- Understand if and how the options are cached
Unfortunately they cannot. There is no conversion for both Environment Variable configuration and Azure Key Vault which means that while it's possible to get the following settings overwritten
{
"TopLevelValue": "Something",
"Section": {
"NestedValue": "Something"
}
}
as:
TopLevelValue=Overwritten
Section__NestedValue=OverwrittenAsWell
it's not possible to handle keys containing a dot like:
{
"LogLevel": {
// this dot is not possible
// outside of JSON provider
// ↓
"Microsoft.AspnetCore": "Debug"
// ↑
// :-(
}
}
and the same applies to Azure Key Vault provider. Keys can't contain dots in names and no conversion is in place.