DEV Community

Cover image for Comment avoir des logs de couleur?
Maxime Guilbert
Maxime Guilbert

Posted on • Updated on

Comment avoir des logs de couleur?

Travailler avec des scripts c'est toujours très utile dans un objectif d'automatisation. La plupart de ces scripts génèrent beaucoup de logs pour qu'on puisse suivre ce qu'il s'y passe, mais avoir autant de logs de la même couleur n'aide pas à pouvoir trouver en un coup d'oeil les quelques informations qui nous intéressent.

C'est pour ça qu'aujourd'hui on va voir comment mettre de la couleur dans vos logs pour vous faciliter les choses!


Comment faire?

Dans cet exemple, le code sera en Go, mais ça fonctionnera pour tous les systèmes affichant leurs logs dans une console Bash.

Pour pouvoir changer la couleur d'un texte, il suffit juste de rajouter quelque chose ressemblant à ça : \033[31m

En effet, c'est cette petite suite de caractères qui va permettre de changer de couleur. Les deux derniers chiffres étant ceux qui définissent la couleur. Dans cet exemple, c'est la couleur rouge qui a été choisie.

Exemple avec les différentes couleurs

package main

var Reset = "\033[0m" 
var Red = "\033[31m" 
var Green = "\033[32m" 
var Yellow = "\033[33m" 
var Blue = "\033[34m" 
var Purple = "\033[35m" 
var Cyan = "\033[36m" 
var Gray = "\033[37m" 
var White = "\033[97m"

func main() { 
    println(White + "This is White" + Reset) 
    println(Red + "This is Red" + Reset) 
    println(Green + "This is Green" + Reset) 
    println(Yellow + "This is Yellow" + Reset) 
    println(Blue + "This is Blue" + Reset) 
    println(Purple + "This is Purple" + Reset) 
    println(Cyan + "This is Cyan" + Reset) 
    println(Gray + "This is Gray" + Reset) 
}
Enter fullscreen mode Exit fullscreen mode

Image description

En voyant cet exemple, vous devez sûrement vous demander pourquoi il y a des Reset à la fin de chaque println.

La réponse est simple : c'est une bonne pratique pour éviter des problèmes de couleur dans vos logs. En effet si vous ne mettez pas le Reset et que vous continuez d'écrire d'autres logs, la dernière couleur que vous avez définie va être conservée pour les prochains logs. Ce qui (si vous oubliez aussi de définir une autre couleur) peut donner quelque chose comme ça.

package main

var Reset = "\033[0m" 
var Red = "\033[31m" 
var Green = "\033[32m" 
var Yellow = "\033[33m" 
var Blue = "\033[34m" 
var Purple = "\033[35m" 
var Cyan = "\033[36m" 
var Gray = "\033[37m" 
var White = "\033[97m"

func main() { 
    println(White + "This is White") 
    println("This is Red" + Reset) 
    println(Green + "This is Green" + Reset) 
    println(Yellow + "This is Yellow") 
    println("This is Blue" + Reset) 
    println(Purple + "This is Purple" + Reset) 
    println(Cyan + "This is Cyan" + Reset) 
    println(Gray + "This is Gray" + Reset) 
}

Enter fullscreen mode Exit fullscreen mode

Image description

Conclusion

En conclusion, vous avez pu voir comment avoir simplement des logs de couleur, ce qui, je l'espère, vous simplifiera la lecture des logs de vos prochains pipelines et/ou scripts!


Vous voulez me supporter?

Buy Me A Coffee

Top comments (0)