Maison > Périphériques technologiques > Industrie informatique > La journalisation est rendue facile: un guide débutant à Winston dans Node.js

La journalisation est rendue facile: un guide débutant à Winston dans Node.js

William Shakespeare
Libérer: 2025-02-08 12:46:13
original
349 Les gens l'ont consulté

Logging Made Easy: A Beginner's Guide to Winston in Node.js

Ce didacticiel montre comment tirer parti de Winston, une bibliothèque de journalisation Node.js robuste, pour améliorer les capacités de surveillance et de débogage de votre application, tout en étant hébergée sur un serveur de calcul Vultr. Nous couvrirons les meilleures pratiques de journalisation essentielles et configurerons Winston pour gérer divers niveaux de journal.

Cet article est parrainé par Vultr, une plate-forme mondiale de cloud computing de premier plan offrant des solutions évolutives à plus de 1,5 million de clients dans le monde. Explorez les options de calcul de cloud de Vultr, de GPU Cloud, de métal nu et de nuage.

L'importance de l'exploitation forestière

La journalisation efficace est primordiale pour le développement d'applications. Ses avantages incluent:

  1. Débogage: Erreurs et exceptions pour le dépannage efficace.
  2. Surveillance: Gardez un aperçu des performances de l'application, de l'utilisation des ressources et des interactions utilisateur pour l'optimisation proactive.
  3. Audit: Maintenir un enregistrement complet des événements système pour l'analyse de la sécurité, le suivi des changements et la conformité réglementaire.

meilleures pratiques de journalisation

La journalisation réussie nécessite une planification minutieuse. Les principes clés comprennent:

  1. Niveaux de journal appropriés: Utiliser des niveaux de journal distincts (erreur, avertissement, info, débogage, verbeux, idiot) pour catégoriser les messages par gravité.
  2. Formatage cohérent: Maintenir les structures de messages journalités standardisés, y compris les horodatages, les niveaux et les informations contextuelles.
  3. Données structurées: Utilisez des formats structurés comme JSON pour l'analyse et l'intégration plus faciles avec les outils de surveillance.
  4. journalisation efficace: Évitez la journalisation excessive pour éviter les frais généraux de performances et l'encombrement.
  5. Sécurité des données: Gérer les données sensibles (mots de passe, jetons, etc.) avec prudence pour protéger la confidentialité des utilisateurs.
Winston: les niveaux de configuration et de journal

Winston prend en charge les niveaux de journal suivants: erreur, avertissement, info, débogage, verbeux, idiot. Chaque niveau représente une gravité différente.

Configuration de Winston sur votre projet Node.js

Suivez ces étapes pour intégrer Winston dans votre application Node.js déployée sur une instance de calcul Vultr:

  1. Déployer sur vultr: Provisionner une instance de calcul Vultr et installer node.js.

  2. SSH Access: Connectez-vous en toute sécurité à votre serveur via SSH.

  3. Mise à jour du système: Mettez à jour les packages du serveur.

  4. Configuration du projet: Créer un nouveau répertoire de projet, y accéder et initialiser : package.json

    mkdir my-winston-project
    cd my-winston-project
    npm init -y
    Copier après la connexion
    Copier après la connexion
  5. Installez les dépendances: Installez Winston et Express:

    mkdir my-winston-project
    cd my-winston-project
    npm init -y
    Copier après la connexion
    Copier après la connexion
  6. Créer app.js: Créer et modifier app.js avec le code suivant:

    npm install winston express
    Copier après la connexion
  7. Créer logger.js: Créer et modifier logger.js:

    const express = require("express");
    const logger = require("./logger"); // Import the logger
    const app = express();
    
    app.get("/", (req, res) => {
      logger.debug("Hello, world");
      logger.info("This is the home route.");
      res.send("Logging Hello World..");
    });
    
    app.get("/event", (req, res) => {
      try {
        throw new Error("Not User!");
      } catch (error) {
        logger.error("Events Error: Unauthenticated", { error }); // Log error with details
      }
    });
    
    app.listen(3000, () => {
      logger.info("Server Listening On Port 3000");
    });
    Copier après la connexion
  8. Configuration du pare-feu: Autoriser les connexions entrantes sur le port 3000 (en utilisant ufw).

  9. Exécutez l'application: Démarrez votre application en utilisant node app.js.

Extension de votre déploiement Vultr

Explorez ces fonctionnalités Vultr avancées:

  • Les applications Node.js de conteneurisation
  • Implémentation de pipelines CI / CD
  • Gérer plusieurs applications Node.js avec Nginx
  • Déploiement des applications Mern

Conclusion

La journalisation efficace est cruciale pour la santé et la maintenabilité des applications. Winston simplifie le processus, fournissant une solution flexible et puissante pour gérer les messages journaux. En combinant Winston avec l'évolutivité de Vultr, vous pouvez créer des applications robustes et facilement surveillées.

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal