log-format uWSGI, 2 exemples (verbeux, simplifié)

Comprendre le logging uWSGI est essentiel pour optimiser et déboguer efficacement vos applications Web. Dans cette brève, je décompose le format détaillé de logging uWSGI pour vous aider à comprendre chaque paramètre que vous pourriez rencontrer dans vos logs.

Voici un exemple de log-format uWSGI très verbeux :

log-format = [pid: %(pid)|app: -|req: -/-] (rss: %(rssM)M - vsz: %(vszM)M) %(addr) (%(user)) {%(vars) vars in %(pktsize) bytes} [%(ctime)] %(method) %(uri) => generated %(rsize) bytes in %(msecs) msecs (%(proto) %(status)) %(headers) headers in %(hsize) bytes (%(switches) switches on core %(core))

Signification des différents éléments ce log-format uWSGI :

  • pid : L'ID du processus uWSGI.

  • app : Le nombre de l'application WSGI utilisée pour traiter la demande. Si cela est indiqué par un "-", cela signifie qu'aucune application n'a été utilisée, probablement parce que la demande n'a pas abouti.

  • req : Le nombre de requêtes que le worker a traitées jusqu'à présent. Le format est "requêtes traitées / requêtes totales".

  • rss : L'utilisation de la mémoire résidente (c'est-à-dire l'espace mémoire réellement utilisé) par le processus, en mégaoctets.

  • vsz : L'espace mémoire virtuel utilisé par le processus, en mégaoctets.

  • addr : L'adresse IP du client qui a fait la demande.

  • user : L'utilisateur uWSGI qui a traité la demande.

  • vars : Le nombre de variables HTTP transmises avec la demande.

  • pktsize : La taille du paquet de la demande, en octets.

  • ctime : L'heure à laquelle la demande a été traitée.

  • method : La méthode HTTP de la demande (par exemple, GET, POST, etc.).

  • uri : L'URI de la demande.

  • rsize : La taille de la réponse générée, en octets.

  • msecs : Le temps qu'il a fallu pour générer la réponse, en millisecondes.

  • proto : La version du protocole HTTP utilisée.

  • status : Le code de statut HTTP de la réponse.

  • headers : Le nombre de headers HTTP dans la réponse.

  • hsize : La taille des headers de la réponse, en octets.

  • switches : Le nombre de fois que le worker a été interrompu pour traiter une autre demande pendant qu'il traitait celle-ci.

  • core : Le numéro du core qui a traité la demande.

Voici un exemple de log-format uWSGI simplifié :

log-format = %(ctime) [pid: %(pid), app: %(app), wid: %(wid)] %(method) %(uri) => %(status)

Ce qui donnera ceci :

Tue May 15 20:21:19 2023 [pid: 172404, wid: 10] GET /home => 302
Tue May 15 20:21:25 2023 [pid: 172401, wid: 9] GET /dashboard/sections/ => 200
Tue May 15 20:21:27 2023 [pid: 172404, wid: 10] GET /dashboard/section/new/ => 200

0
Subscribe to my newsletter

Read articles from Daniel Muyshond (Dan) directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Daniel Muyshond (Dan)
Daniel Muyshond (Dan)

Intégrateur d'applications web open source expérimenté avec plus de 5 ans d'expertise le suivi d'intégration d'applications web Python 3 containerisées, assistance technique et résolution de problèmes, suivi et intégration de développements et tests. Initialement axé sur le support client et la résolution de problèmes, j'ai développé des compétences en suivi et réalisation d'intégrations techniques et développements en rapport avec la maintenance, le suivi, la mise à jour de la pile applicative, ou les exigences ou problèmes remontés par le client. Je recherche de nouvelles opportunités pour mettre à profit mes compétences techniques et interpersonnelles dans un environnement stimulant.