Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Lahteen seuranta

English | 中文 | 日本語 | 한국어 | Français | Deutsch | Español | Português | Svenska | Suomi | Nederlands

Kayta load_config_with_figment-funktiota sailyttaaksesi runtime-latauksessa kaytetyn Figment-graafin:

#![allow(unused)]
fn main() {
use rust_config_tree::load_config_with_figment;

let (config, figment) = load_config_with_figment::<AppConfig>("config.yaml")?;
let _ = config;
Ok::<(), Box<dyn std::error::Error + Send + Sync>>(())
}

Palautettu Figment-arvo voi vastata runtime-arvojen lahdekysymyksiin:

#![allow(unused)]
fn main() {
if let Some(metadata) = figment.find_metadata("database.pool_size") {
    let source = metadata.interpolate(
        &figment::Profile::Default,
        &["database", "pool_size"],
    );

    println!("database.pool_size came from {source}");
}
}

ConfiqueEnvProvider-providerin antamille arvoille interpolointi palauttaa skeemassa maaritellyn natiivin ymparistomuuttujan nimen:

database.pool_size came from APP_DATABASE_POOL_SIZE

TRACE-tapahtumat

Lataaja lahettaa lahteenseurannan tapahtumia tracing::trace!-kutsulla. Se tekee taman vain, kun TRACE on kaytossa:

#![allow(unused)]
fn main() {
use rust_config_tree::{load_config_with_figment, trace_config_sources};

let (config, figment) = load_config_with_figment::<AppConfig>("config.yaml")?;

// If the tracing subscriber is initialized after config loading, emit the
// same source events again after installing the subscriber.
trace_config_sources::<AppConfig>(&figment);
let _ = config;
Ok::<(), Box<dyn std::error::Error + Send + Sync>>(())
}

Jokainen tapahtuma kayttaa kohdetta rust_config_tree::config ja sisaltaa:

  • config_key: pisteellinen konfiguraatioavain.
  • source: renderoitu lahdemetadata.

Arvoilla, jotka tulevat vain confique-oletuksista, ei ole Figmentin runtime-metadatan lahdetta. Ne raportoidaan muodossa confique default or unset optional field.