Maison  >  Article  >  développement back-end  >  sortie logrus dans différents formats

sortie logrus dans différents formats

PHPz
PHPzavant
2024-02-12 11:00:09763parcourir

不同格式的 logrus 输出

L'éditeur PHP Zimo vous propose un article sur la sortie logrus. Pendant le processus de développement, nous devons souvent générer des journaux pour nous aider à résoudre les problèmes et à suivre le processus d'exécution du code. Logrus est une puissante bibliothèque de journalisation qui peut générer des journaux dans différents formats, tels que JSON, texte ou formats personnalisés. Cet article présentera les différents formats de journaux de sortie Logrus, aidera les développeurs à choisir le format de sortie approprié en fonction de leurs besoins et améliorera la lisibilité et la convivialité des journaux.

Contenu de la question

Mon programme s'utilise de manière basique logrus sans aucune configuration :

<code>   logrus.Info("...")
</code>

Mais à différents endroits, il sort dans différents formats, certains endroits comme :

INFO[0016] pushed

Il existe également certains endroits, tels que :

time="2023-11-30T05:26:39Z" level=info msg=pushed

Vous ne savez pas quel est le mystère qui se cache derrière cela ?

Solution

Permettez-moi de répondre moi-même à cette question. J'ai regardé le code logrus ce week-end et j'ai remarqué quelque chose de délicat.

logrus有一个机制来检测当前终端是否有颜色,如果有的话,会以 INFO[0000] Pushed 的格式输出,否则以 time="2023-11-30T05:26:39Z" level= 的格式输出信息 msg=pushedIl existe un mécanisme pour détecter si le terminal actuel a de la couleur. Si tel est le cas, il sera affiché au format INFO[0000] Pushed, sinon il sera affiché au format . >time="2023-11-30T05 : 26:39Z" affiche les informations au format level= msg=pushed.

Donc, si vous souhaitez toujours sortir dans le premier format (plus court), il vous suffit de définir la couleur forcée :

    logrus.SetFormatter(&logrus.TextFormatter{
        ForceColors: true,
    })

Si vous souhaitez le deuxième format, forcez simplement à désactiver les couleurs :

    logrus.SetFormatter(&logrus.TextFormatter{
        DisableColors: true,
    })

Vous pouvez également configurer le format de l'heure.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer