In-Memory Configuration Provider
These features are only available if the mem feature is activated
The MemoryConfigurationProvider
uses an in-memory collection as configuration key-value pairs. This is most useful as a default configuration or when providing test values.
The following code adds a memory collection to the configuration system and displays the settings:
use config::{*, ext::*};
fn main() {
let config = DefaultConfigurationBuilder::new()
.add_in_memory(&[
("MyKey", "Dictionary MyKey Value"),
("Position:Title", "Dictionary_Title"),
("Position:Name", "Dictionary_Name"),
("Logging:LogLevel:Default", "Warning"),
])
.build()
.unwrap();
let my_key_value = config.get("MyKey").unwrap().as_str();
let title = config.get("Position:Title").unwrap().as_str();
let name = config.section("Position").get("Name").unwrap().as_str();
let default_log_level = config.get("Logging:LogLevel:Default").unwrap().as_str();
println!("MyKey value: {}\n\
Title: {}\n\
Name: {}\n\
Default Log Level: {}",
my_key_value,
title,
name,
default_log_level);
}