Maison > interface Web > js tutoriel > Journalisation Node.js : local, tests et production

Journalisation Node.js : local, tests et production

Patricia Arquette
Libérer: 2024-12-05 13:05:11
original
909 Les gens l'ont consulté

Node.js Logging: Local, Testing, and Production

Salut les développeurs ! Nous disposons d'un outil génial pour vous connecter à Node.js et il est open source. Cela fonctionne très bien, que vous codiez localement, exécutiez des tests sur plusieurs serveurs ou gériez le trafic réel en production. Voyons comment utiliser Errsole pour le développement local, les tests (même avec plusieurs serveurs) et la production. Restons simple et pratique !

Semelle d'usure

Errsole est votre solution unique pour la gestion des journaux. Il vous permet de :

  • Collectez automatiquement tous les journaux.
  • Affichez et recherchez les journaux dans un tableau de bord Web.
  • Stockez les journaux localement ou dans des bases de données centralisées comme MongoDB, MySQL ou PostgreSQL.

Étape 1 : Développement local

Pour le codage local, SQLite est un choix simple et léger. Vous pouvez stocker les journaux sous forme de fichiers sur votre ordinateur, ce qui rend la configuration rapide et facile.

npm install errsole errsole-sqlite
Copier après la connexion
const express = require('express');
const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');

// Initialize Errsole with SQLite
errsole.initialize({
  storage: new ErrsoleSQLite('/tmp/local_logs.sqlite') // Change path if needed
});

const app = express();
app.get('/', (req, res) => res.send('Hello from Local!'));
app.listen(3000, () => console.log('App running on http://localhost:3000'));
Copier après la connexion

Afficher les journaux
Ouvrez votre navigateur et accédez à http://localhost:8001/ pour voir vos journaux.


Étape 2 : Test avec plusieurs serveurs

Si vous disposez de plusieurs serveurs de test, SQLite pourrait ne pas suffire. Utilisez MongoDB/MySQL/Postgres pour centraliser vos journaux de tous les serveurs. Cela permet de garder tout organisé et accessible au même endroit.

npm install errsole errsole-mongodb
Copier après la connexion

Configurer MongoDB pour les tests
Configurez Errsole pour vous connecter à une instance centrale de MongoDB.

const ErrsoleMongoDB = require('errsole-mongodb');

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});
Copier après la connexion
Copier après la connexion
const ErrsoleMongoDB = require('errsole-mongodb');

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});
Copier après la connexion
Copier après la connexion

Journaux de débogage dans les tests
Utilisez des journaux détaillés pour le dépannage :

errsole.debug('Test case started', { testName: 'LoginTest', server: 'server1' });
Copier après la connexion

Afficher les journaux
Accédez au tableau de bord Web pour tous les serveurs de test sur http://your-test-db-host:8001/.

Utilisez des filtres dans le tableau de bord pour rechercher les journaux de serveurs ou de cas de test spécifiques.


Étape 3 : Configuration de la production

En production, vous souhaitez une configuration fiable, capable de gérer un trafic élevé et de fournir des alertes instantanées en cas de problèmes critiques. MongoDB est un excellent choix pour la journalisation centralisée en production.

Configurer MongoDB pour la production

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://prod-db-host:27017/', 'prod_logs')
});
Copier après la connexion

Exemple avec alertes
Soyez informé des erreurs critiques en production :

errsole.alert('Critical issue in production', { server: 'main-server' });
Copier après la connexion

Métadonnées pour le contexte
Incluez des détails supplémentaires dans vos journaux :

errsole.meta({ userId: 123, action: 'purchase' }).log('Purchase completed');
Copier après la connexion

Configuration unifiée pour tous les environnements

Voici comment gérer la journalisation dans les environnements locaux, de test et de production en une seule configuration :

const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');
const ErrsoleMongoDB = require('errsole-mongodb');

let storage;

// Configure storage based on the environment
if (process.env.NODE_ENV === 'production') {
  storage = new ErrsoleMongoDB('mongodb://prod-db-host:27017/', 'prod_logs');
} else if (process.env.NODE_ENV === 'testing') {
  storage = new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs');
} else {
  storage = new ErrsoleSQLite('/tmp/local_logs.sqlite');
}

errsole.initialize({ storage });
console.log(`Errsole is running in ${process.env.NODE_ENV || 'development'} mode.`);

Copier après la connexion

Variables d'environnement

  • Local : Définissez NODE_ENV=development.
  • Test : utilisez NODE_ENV=testing.
  • Production : Définissez NODE_ENV=production.

Pourquoi choisir Errsole ?

Journalisation évolutive : fonctionne de manière transparente avec les configurations locales, de test et de production.

Journaux centralisés : utilisez MongoDB/MySQL/Postgres pour gérer les journaux de plusieurs serveurs.

Tableau de bord Web : affichez, recherchez et filtrez facilement les journaux.

Alertes personnalisées : recevez des notifications en temps réel pour les problèmes critiques.

Errsole est l'outil ultime pour gérer les journaux dans tous les environnements. Commencez avec SQLite pour le développement local, évoluez vers SQL/NoSQL pour les tests sur plusieurs serveurs et restez prêt pour la production grâce à une journalisation et des alertes centralisées. C'est simple, flexible et puissant.

Prêt à améliorer votre journalisation ? Errsole vous soutient. ?

URL GitHub : https://github.com/errsole/errsole.js

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!

source:dev.to
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