Personnaliser les messages de la console JavaScript avec les séquences ANSI
Lorsque l'on développe une application JavaScript, il est fréquent d'utiliser console.log() pour afficher des informations dans le terminal. Différencier visuellement les messages informatifs, les chargements ou les erreurs peut grandement améliorer la lisibilité des logs et faciliter le débogage.
Pour cela, il est possible d'utiliser les séquences d'échappement ANSI, qui permettent de modifier la couleur et le style du texte affiché dans le terminal.
Comment ça fonctionne ?
Les séquences ANSI sont des codes spéciaux interprétés par le terminal pour appliquer différents styles d'affichage.
Par exemple, la séquence \x1b[36m applique la couleur cyan au texte qui suit. Pour revenir au style par défaut, il suffit d'ajouter la séquence \x1b[0m.
Exemple simple
console.log('\x1b[36m%s\x1b[0m', 'Hello World');
Résultat : le texte Hello World s'affichera en cyan.
Combiner plusieurs styles
Il est également possible de combiner plusieurs styles dans une même ligne :
console.log('\x1b[36mThis is cyan, \x1b[4mbut this is underlined\x1b[0m');
Dans cet exemple :
- La première partie du texte est affichée en cyan.
- La seconde partie est à la fois cyan et soulignée.
Lorsque vous souhaitez appliquer un style à l'ensemble d'un texte, la syntaxe utilisant %s est souvent plus lisible. Le marqueur %s représente l'emplacement où la chaîne de caractères sera injectée.
Références des styles ANSI
1. Styles de texte
Certains styles peuvent ne pas être pris en charge selon le terminal ou l'environnement d'exécution utilisé.
| Style | Séquence |
|---|---|
| Reset | \x1b[0m |
| Bold | \x1b[1m |
| Dim | \x1b[2m |
| Italic | \x1b[3m |
| Underline | \x1b[4m |
| Blink | \x1b[5m |
| Reverse | \x1b[7m |
| Hide | \x1b[8m |
| Strike | \x1b[9m |
2. Couleurs du texte
| Couleur | Séquence |
|---|---|
| Black | \x1b[30m |
| Red | \x1b[31m |
| Green | \x1b[32m |
| Yellow | \x1b[33m |
| Blue | \x1b[34m |
| Magenta | \x1b[35m |
| Cyan | \x1b[36m |
| White | \x1b[37m |
| Gray | \x1b[90m |
3. Couleurs d'arrière-plan
| Couleur | Séquence |
|---|---|
| Black Bg | \x1b[40m |
| Red Bg | \x1b[41m |
| Green Bg | \x1b[42m |
| Yellow Bg | \x1b[43m |
| Blue Bg | \x1b[44m |
| Magenta Bg | \x1b[45m |
| Cyan Bg | \x1b[46m |
| White Bg | \x1b[47m |
| Gray Bg | \x1b[100m |
Exemple pratique
Voici un exemple de convention que vous pouvez adopter dans vos projets :
console.log('\x1b[36m%s\x1b[0m', '[INFO] Application démarrée');
console.log('\x1b[33m%s\x1b[0m', '[LOADING] Chargement des données...');
console.log('\x1b[32m%s\x1b[0m', '[SUCCESS] Données chargées avec succès');
console.log('\x1b[31m%s\x1b[0m', '[ERROR] Impossible de récupérer les données');
Grâce à cette approche, chaque type de message devient immédiatement identifiable dans le terminal.
Conclusion
Les séquences ANSI offrent un moyen simple et efficace d'améliorer la lisibilité des logs dans les applications JavaScript. En ajoutant des couleurs et des styles à vos messages console.log(), vous rendez vos sorties terminal plus claires, plus professionnelles et plus faciles à analyser lors du développement ou du débogage.