v0.1.3-pre.005
This commit is contained in:
@@ -1,20 +1,33 @@
|
||||
<!-- file: crates/ksp-logging-lib/TODO.md -->
|
||||
<!-- version: 3 -->
|
||||
<!-- version: 4 -->
|
||||
|
||||
# TODO ksp-logging-lib
|
||||
|
||||
## À fermer pendant `0.1.3`
|
||||
|
||||
`0.1.3-pre.004` expose désormais le modèle public multi-output. La tranche runtime suivante doit encore :
|
||||
`0.1.3-pre.005` active le runtime multi-sink pour les dimensions disponibles directement dans les métadonnées `tracing` : niveau et target.
|
||||
|
||||
- activer simultanément zéro, un ou plusieurs fichiers ;
|
||||
- appliquer réellement `OutputFilter` par sink sur niveau, target et domain ;
|
||||
- appliquer `LogFormat::{Human, Compact, Pretty, Json}` par sink ;
|
||||
- appliquer l'ANSI console configurable tout en gardant les fichiers sans séquences ANSI ;
|
||||
- généraliser les writers/guards et compteurs de lignes abandonnées par output sans perdre la vue agrégée utile ;
|
||||
- conserver le subscriber global unique, le takeover KSP et le hot reload transactionnel.
|
||||
La tranche Logging suivante doit encore :
|
||||
|
||||
Tant que cette tranche runtime n'est pas livrée, `initialize/reinitialize` refusent explicitement les capacités du nouveau contrat qu'ils ne savent pas encore appliquer.
|
||||
- appliquer réellement `OutputFilter.domains[]` à partir du champ structuré `domain` ;
|
||||
- définir l'héritage du domain pour les events émis dans un span lorsqu'ils ne portent pas eux-mêmes le champ ;
|
||||
- conserver une sémantique cohérente pour les événements de lifecycle de span ;
|
||||
- couvrir ce routing par des tests dédiés avant de figer `std.logging.schema.json`.
|
||||
|
||||
Tant que cette tranche n'est pas livrée, un output actif avec `domains[] != ["*"]` est refusé explicitement par `initialize/reinitialize`.
|
||||
|
||||
## Capacités désormais actives
|
||||
|
||||
Le runtime supporte maintenant :
|
||||
|
||||
- zéro, un ou plusieurs outputs fichier simultanés ;
|
||||
- une console indépendante ;
|
||||
- routing par niveau et target pour chaque output ;
|
||||
- `Human`, `Compact`, `Pretty` et `Json` ;
|
||||
- ANSI console configurable et fichiers persistants sans ANSI ;
|
||||
- guards non bloquants indépendants ;
|
||||
- compteurs agrégés et compteurs cumulatifs par `output_id` fichier ;
|
||||
- hot reload transactionnel du groupe de sinks.
|
||||
|
||||
## Capacités différées
|
||||
|
||||
|
||||
Reference in New Issue
Block a user