v0.5.3-pre.003

This commit is contained in:
2026-08-12 11:00:59 +02:00
parent 8448ad1079
commit 400ced4832
313 changed files with 7773 additions and 2623 deletions

View File

@@ -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.

View File

@@ -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.

View File

@@ -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"));