v0.5.3-pre.003
This commit is contained in:
@@ -1,8 +1,21 @@
|
||||
<!-- file: ks-logging/CHANGELOG.md -->
|
||||
<!-- version: 20 -->
|
||||
<!-- version: 22 -->
|
||||
|
||||
# CHANGELOG — ks-logging
|
||||
|
||||
## `0.5.3-pre.003`
|
||||
|
||||
### Fix `pre.003-delta-fix-005`
|
||||
|
||||
- ajoute `h2` et `hyper_util` à `WARN` dans les profils standards ; `hyper` reste explicitement filtré à `WARN` ;
|
||||
- étend le canari de configuration aux six targets tierces bruyantes : `h2`, `hyper`, `hyper_util`, `rustls`, `rustls_platform_verifier` et `sqlx` ;
|
||||
- documente que le statement logging automatique SQLx est désormais désactivé dans `ks-store`, les traces fonctionnelles de requêtes devant être produites par `ks-store` lui-même.
|
||||
|
||||
|
||||
- ajoute `rustls`, `rustls_platform_verifier` et `sqlx` à `WARN` dans les `target_filters` des profils standards `local_devnet`, `mainnet_research` et `mainnet` ;
|
||||
- aligne l'exemple de configuration et ajoute un test vérifiant cette politique pour chaque profil ;
|
||||
- documente que les logs détaillés des dépendances doivent être réactivés par une route explicite, sans changer leurs targets propriétaires.
|
||||
|
||||
## `0.5.1-pre.008`
|
||||
|
||||
- Fix: remplace un ancien fragment de credential Helius utilisé comme canari négatif par le nom synthétique `KS_SECRET_HELIUS_API_KEY`; aucune donnée réelle ou partielle de credential ne doit être conservée dans les tests.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: ks-logging/USAGE.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 9 -->
|
||||
|
||||
# Utilisation de ks-logging
|
||||
|
||||
@@ -58,3 +58,12 @@ match ks_logging::init_logging(&config) {
|
||||
```
|
||||
|
||||
L'initialisation reste globale au processus. Les binaires doivent donc résoudre leur configuration avant le premier appel à `init_logging`.
|
||||
|
||||
## Filtres des dépendances tierces
|
||||
|
||||
Les routes wildcard `debug` restent destinées aux composants Khadhroony, mais elles ne doivent pas transformer la console et `debug.log` en trace brute des bibliothèques réseau ou SQL.
|
||||
|
||||
Les profils standards imposent `WARN` aux targets `h2`, `hyper`, `hyper_util`, `rustls`, `rustls_platform_verifier` et `sqlx`. Les targets tiers restent ceux de leurs crates propriétaires : un événement HTTP/2 reste `h2::*`, un événement Hyper reste `hyper*`, un événement SQLx reste `sqlx::query` et un événement TLS reste `rustls::*`.
|
||||
|
||||
`ks-store` désactive en complément le statement logging automatique de SQLx. Les requêtes fonctionnellement importantes doivent être instrumentées par `ks-store` avec son target canonique et des champs structurés, sans dépendre du format de logging d'une bibliothèque tierce. Les warnings/errors des dépendances restent observables dans les profils standards.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: ks-logging/src/document.rs
|
||||
// version: 6
|
||||
// version: 8
|
||||
|
||||
//! Independent logging configuration document loading and validation.
|
||||
|
||||
@@ -521,6 +521,32 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn default_logging_config_suppresses_verbose_dependency_targets() {
|
||||
let mut value = parse_default_value();
|
||||
value["logs_directory"] = serde_json::Value::String("logs".to_string());
|
||||
let raw_json = value_to_json(&value);
|
||||
let document_result = super::parse_logging_json(&raw_json);
|
||||
let document = match document_result {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => panic!("default logging config must parse: {error}"),
|
||||
};
|
||||
for profile in &document.profiles {
|
||||
for dependency_target in
|
||||
["h2", "hyper", "hyper_util", "rustls", "rustls_platform_verifier", "sqlx"]
|
||||
{
|
||||
assert!(
|
||||
profile.config.target_filters.iter().any(|filter| {
|
||||
return filter.target == dependency_target && filter.level == "warn";
|
||||
}),
|
||||
"logging profile {} must suppress verbose {} events",
|
||||
profile.name,
|
||||
dependency_target
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn default_logging_config_uses_canonical_wallet_and_pipeline_routes() {
|
||||
assert!(!DEFAULT_LOGGING_CONFIG.contains("KS_SECRET_HELIUS_API_KEY"));
|
||||
|
||||
Reference in New Issue
Block a user