OUJOOD.COM
Qu'est-ce que Morgan ?
Découvrez comment utiliser Morgan pour suivre et analyser les requêtes HTTP dans votre application Express.js. Ce tutoriel vous guide étape par étape pour maîtriser ce puissant outil de logging.
Morgan est un middleware populaire pour Express.js qui permet de logger (enregistrer) les requêtes HTTP effectuées sur votre application. Il capture automatiquement des informations importantes telles que la méthode HTTP, l'URL demandée, le statut de la réponse et bien plus encore.
Pourquoi Utiliser Morgan ?
- Suivi des Activités : Comprenez comment les utilisateurs interagissent avec votre application.
- Débogage Facile : Identifiez rapidement les erreurs ou comportements inattendus grâce aux logs détaillés.
- Personnalisation : Configurez Morgan pour afficher exactement les informations dont vous avez besoin.
- Simplicité : Intégrez Morgan facilement dans vos projets Express.js.
Installation de Morgan
Pour utiliser Morgan dans votre projet Express.js, installez-le via npm :
npm install morgan
Configuration de Base
Une fois installé, intégrez Morgan dans votre application Express.js comme suit :
const express = require('express');
const morgan = require('morgan');
const app = express();
// Utilisation de Morgan avec le format "combined"
app.use(morgan('combined'));
app.get('/', (req, res) => {
res.send('Bonjour, Morgan !');
});
app.listen(3000, () => {
console.log('Serveur en cours d’exécution sur http://localhost:3000');
});
Explication :
morgan('combined'): Utilise le format combiné, qui inclut des informations détaillées sur chaque requête.app.use(morgan(...)): Applique Morgan à toutes les requêtes de votre application.
Formats Disponibles dans Morgan
Morgan propose plusieurs formats prédéfinis pour logger les requêtes :
tiny: Format minimaliste, affiche uniquement les informations essentielles.common: Format courant utilisé dans les logs web standards.combined: Format complet, utilisé par Apache.
Exemple avec le format "tiny" :
app.use(morgan('tiny'));
Personnalisation avec des Tokens
Avec Morgan, vous pouvez créer des logs personnalisés en utilisant des tokens. Voici un exemple :
app.use(morgan(function (tokens, req, res) {
return [
tokens.method(req, res), // Méthode HTTP
tokens.url(req, res), // URL de la requête
tokens.status(req, res), // Statut de la réponse
tokens.res(req, res, 'content-length'), // Taille de la réponse
'-',
tokens['response-time'](req, res), // Temps de réponse
'ms'
].join(' ');
}));
Résultat du Log :
GET / 200 123 - 5ms
Gestion des Logs dans un Fichier
Vous pouvez rediriger les logs vers un fichier pour une conservation à long terme. Voici un exemple :
const fs = require('fs');
const morgan = require('morgan');
// Crée un flux d'écriture vers un fichier
const accessLogStream = fs.createWriteStream('access.log', { flags: 'a' });
// Utilise Morgan avec le flux d'écriture
app.use(morgan('combined', { stream: accessLogStream }));
Explication :
fs.createWriteStream('access.log'): Crée un fichier nomméaccess.log.{ flags: 'a' }: Ouvre le fichier en mode "append" (ajout).
Conclusion
Morgan est un outil puissant et simple à utiliser pour suivre et analyser les requêtes HTTP dans vos applications Express.js. Que vous soyez débutant ou avancé, il peut vous aider à mieux comprendre le fonctionnement de votre serveur et à identifier rapidement les problèmes.
CTA : Essayez Morgan dès aujourd'hui pour améliorer la visibilité sur votre application Express.js ! Consultez également nos autres tutoriels sur Node.js et JavaScript.