首页 > web前端 > js教程 > Node.js 日志记录:本地、测试和生产

Node.js 日志记录:本地、测试和生产

Patricia Arquette
发布: 2024-12-05 13:05:11
原创
909 人浏览过

Node.js Logging: Local, Testing, and Production

嘿,开发者们!我们有一个很棒的 Node.js 登录工具,而且它是开源的。无论您是在本地编码、在多个服务器上运行测试还是在生产中处理实际流量,它都非常有效。让我们看看如何使用 Errsole 进行本地开发、测试(甚至使用多个服务器)和生产。让我们保持简单实用!

埃尔索尔

Errsole 是您管理日志的一站式解决方案。它可以让你:

  • 自动收集所有日志。
  • 在网络仪表板中查看和搜索日志。
  • 将日志存储在本地或集中式数据库中,例如 MongoDB、MySQL 或 PostgreSQL。

第 1 步:本地开发

对于本地编码,SQLite 是一个简单且轻量级的选择。您可以将日志作为文件存储在计算机上,使设置变得快速而简单。

npm install errsole errsole-sqlite
登录后复制
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'));
登录后复制

查看日志
打开浏览器并转到 http://localhost:8001/ 查看日志。


第 2 步:使用多个服务器进行测试

如果您有多个测试服务器,SQLite 可能还不够。使用 MongoDB/MySQL/Postgres 集中所有服务器的日志。这使得一切都井井有条并可在一个地方访问。

npm install errsole errsole-mongodb
登录后复制

配置 MongoDB 进行测试
设置 Errsole 以登录到中央 MongoDB 实例。

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

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});
登录后复制
登录后复制
const ErrsoleMongoDB = require('errsole-mongodb');

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});
登录后复制
登录后复制

测试中的调试日志
使用详细日志进行故障排除:

errsole.debug('Test case started', { testName: 'LoginTest', server: 'server1' });
登录后复制

查看日志
访问所有测试服务器的 Web 仪表板:http://your-test-db-host:8001/。

使用仪表板中的过滤器查找来自特定服务器或测试用例的日志。


第 3 步:生产设置

在生产中,您需要一个可靠的设置来处理高流量并为关键问题提供即时警报。 MongoDB 是生产中集中日志记录的绝佳选择。

为生产配置 MongoDB

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://prod-db-host:27017/', 'prod_logs')
});
登录后复制

带有警报的示例
获取生产中严重错误的通知:

errsole.alert('Critical issue in production', { server: 'main-server' });
登录后复制

上下文元数据
在日志中包含额外的详细信息:

errsole.meta({ userId: 123, action: 'purchase' }).log('Purchase completed');
登录后复制

所有环境的统一设置

以下是如何在一个设置中处理跨本地、测试和生产环境的日志记录:

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.`);

登录后复制

环境变量

  • 本地:设置NODE_ENV=development
  • 测试:使用NODE_ENV=testing
  • 生产:设置 NODE_ENV=生产

为什么选择埃索尔?

可扩展日志记录:与本地、测试和生产设置无缝协作。

集中日志:使用MongoDB/MySQL/Postgres管理来自多个服务器的日志。

Web 仪表板:轻松查看、搜索和过滤日志。

自定义警报:获取关键问题的实时通知。

Errsole 是在每个环境中管理日志的终极工具。从 SQLite 开始进行本地开发,扩展到 SQL/NoSQL 以跨多个服务器进行测试,并通过集中式日志记录和警报保持生产就绪。它简单、灵活且功能强大。

准备好升级您的日志记录了吗?埃索尔为你提供支持。 ?

GitHub 网址:https://github.com/errsole/errsole.js

以上是Node.js 日志记录:本地、测试和生产的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板