Files
khadhroony-bot3/ks-logging/README.md
2026-08-10 01:36:42 +02:00

46 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: ks-logging/README.md -->
<!-- version: 6 -->
# ks-logging
`ks-logging` possède le contrat logging indépendant du workspace et initialise le subscriber global `tracing` à partir du profil logging sélectionné.
## Responsabilités
- charger `logging.config.json` et résoudre ses placeholders denvironnement ;
- valider `config/schemas/logging.config.schema.json` ;
- sélectionner un profil logging indépendamment du profil applicatif ;
- posséder `LoggingConfig`, `LogTargetConfig` et `LogTargetFilterConfig` ;
- sélectionner les routes activées ;
- appliquer niveaux, targets exactes et préfixes wildcard ;
- créer les writers non bloquants et gérer les formats/rotations ;
- conserver les `WorkerGuard` pendant toute la durée du processus.
## Relations
`ks-logging` dépend de `ks-config` uniquement pour le chargement du fichier `.env` et la résolution générique `${KS_*}` / `${KB_*}`. `ks-config` ne dépend pas de `ks-logging` et ne duplique aucun type logging.
Le desktop charge `config/app.config.json` et `config/logging.config.json` séparément puis transmet directement le profil logging actif à `init_logging`.
## API publique
- `read_logging_json_file_with_environment` charge le document logging ;
- `parse_logging_json` et `validate_logging_json_schema` valident le format ;
- `active_logging_profile` sélectionne le profil actif ;
- `LoggingConfigDocument` et `LoggingProfileConfig` décrivent le document ;
- `LoggingConfig`, `LogTargetConfig` et `LogTargetFilterConfig` décrivent le runtime ;
- `init_logging` initialise le subscriber global ;
- `LoggingGuard` maintient les writers ;
- `tracing_target` retourne le target canonique de la crate.
## Statut
Le split config/logging est fonctionnel. Les profils logging sont indépendants des profils applicatifs et les routes existantes restent conservées dans `config/logging.config.json`.
## Documents
- [Utilisation](USAGE.md)
- [Travaux restants](TODO.md)
- [Historique](CHANGELOG.md)
- [Configuration locale](../config/README.md)