Files
khadhroony-bot3/docs/guides/LOGGING.md
2026-08-10 09:28:57 +02:00

1.8 KiB

Guide de logging et tracing

Objectif

ks-logging possède le contrat logging, son document de profils, son schéma JSON et l'initialisation runtime tracing.

Valeur globale

La racine des logs n'est pas un profil :

logging.config.json.logs_directory = ${KS_LOGS_DIRECTORY:-logs}

Les targets fichier utilisent des chemins relatifs, par exemple devnet/ks-pipeline/debug.log. ks-logging les résout sous logs_directory au chargement. Une valeur absolue explicite reste absolue.

Cette séparation évite de recopier logs/ dans chaque profil et permet à l'opérateur de déplacer tous les logs par variable d'environnement ou .env.

Sélection du profil

logging.config.json définit default_profile. Un consommateur autonome l'utilise avec default_logging_profile.

Un binaire possédant une composition peut sélectionner un autre profil avec logging_profile; cette sélection ne modifie pas le document partagé.

Flux de démarrage desktop

  1. charger la composition config/kb-app-demo-desktop.default.config.json ;
  2. résoudre le chemin logging référencé ;
  3. charger logging.config.json ;
  4. choisir l'override du profil ou son default_profile ;
  5. résoudre les paths sous logs_directory ;
  6. appeler ks_logging::init_logging ;
  7. poursuivre l'initialisation du runtime.

KS_LOGGING_CONFIG_PATH remplace le chemin du document et KS_LOGS_DIRECTORY remplace uniquement sa racine de sortie.

Sécurité

Les logs ne doivent jamais exposer :

  • une valeur KS_SECRET_* ou KB_SECRET_* ;
  • un DSN avec credentials ;
  • une clé privée/keypair ;
  • une configuration runtime complète résolue.

Le masquage structurel et les DTO diagnostics sûrs sont finalisés dans la prochaine prerelease de 0.5.1.