♻️ [config] Inicializa la configuración global
This commit is contained in:
parent
62cc2a6201
commit
65c290a240
2 changed files with 13 additions and 6 deletions
|
|
@ -19,6 +19,9 @@ impl Application {
|
|||
// Rótulo de presentación.
|
||||
super::banner::print_on_startup();
|
||||
|
||||
// Inicializa la configuración global.
|
||||
LazyStatic::force(&super::config::SETTINGS);
|
||||
|
||||
// Inicia registro de trazas y eventos.
|
||||
LazyStatic::force(&super::tracing::TRACING);
|
||||
|
||||
|
|
|
|||
|
|
@ -42,14 +42,15 @@
|
|||
//! # Cómo añadir ajustes de configuración
|
||||
//!
|
||||
//! Para proporcionar a tu **aplicación** o **módulo** sus propios ajustes de configuración, añade
|
||||
//! [*serde*](https://docs.rs/serde) en las dependencias de tu archivo *Cargo.toml*:
|
||||
//! [*serde*](https://docs.rs/serde) en las dependencias de tu archivo *Cargo.toml* habilitando la
|
||||
//! característica `derive`:
|
||||
//!
|
||||
//! ```toml
|
||||
//! [dependencies]
|
||||
//! serde = { version = "1.0", features = ["derive"] }
|
||||
//! ```
|
||||
//!
|
||||
//! Declara ([`LazyStatic`]) e inicializa tus nuevos ajustes con tipos seguros
|
||||
//! Y luego declara ([`LazyStatic`]) e inicializa tus ajustes con tipos seguros
|
||||
//! ([`config::try_into<S>()`](try_into)) y valores predefinidos
|
||||
//! ([`predefined_settings!`](crate::predefined_settings)):
|
||||
//!
|
||||
|
|
@ -80,16 +81,19 @@
|
|||
//! });
|
||||
//! ```
|
||||
//!
|
||||
//! De hecho, así se declaran e inicializan los ajustes globales de la configuración
|
||||
//! ([`SETTINGS`](crate::app::config::SETTINGS)).
|
||||
//! De hecho, esta es la forma en la que se declaran e inicializan los ajustes globales de la
|
||||
//! configuración ([`SETTINGS`](crate::app::config::SETTINGS)).
|
||||
//!
|
||||
//! Usa la sintaxis TOML para añadir tu nueva sección `[myapp]` en los archivos de configuración,
|
||||
//! del mismo modo que `[log]` o `[server]` hacen para los ajustes globales
|
||||
//! del mismo modo que se añaden `[log]` o `[server]` en los ajustes globales
|
||||
//! ([`Settings`](crate::app::config::Settings)).
|
||||
//!
|
||||
//! Se recomienda inicializar todos los ajustes con valores predefinidos, o utilizar la notación
|
||||
//! `Option<T>` si van a ser tratados en el código como opcionales.
|
||||
//!
|
||||
//! Si no pueden inicializarse correctamente los ajustes de configuración, entonces la aplicación
|
||||
//! ejecutará un panic! y detendrá la ejecución.
|
||||
//!
|
||||
//! Los ajustes de configuración siempre son de sólo lectura.
|
||||
//!
|
||||
//!
|
||||
|
|
@ -186,7 +190,7 @@ where
|
|||
settings.set_default(key, *value).unwrap();
|
||||
}
|
||||
match settings.try_into() {
|
||||
Ok(c) => c,
|
||||
Ok(s) => s,
|
||||
Err(e) => panic!("Error parsing settings: {}", e),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue