嘿,开发者们!我们有一个很棒的 Node.js 登录工具,而且它是开源的。无论您是在本地编码、在多个服务器上运行测试还是在生产中处理实际流量,它都非常有效。让我们看看如何使用 Errsole 进行本地开发、测试(甚至使用多个服务器)和生产。让我们保持简单实用!
Errsole 是您管理日志的一站式解决方案。它可以让你:
对于本地编码,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/ 查看日志。
如果您有多个测试服务器,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/。
使用仪表板中的过滤器查找来自特定服务器或测试用例的日志。
在生产中,您需要一个可靠的设置来处理高流量并为关键问题提供即时警报。 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.`);
环境变量
可扩展日志记录:与本地、测试和生产设置无缝协作。
集中日志:使用MongoDB/MySQL/Postgres管理来自多个服务器的日志。
Web 仪表板:轻松查看、搜索和过滤日志。
自定义警报:获取关键问题的实时通知。
Errsole 是在每个环境中管理日志的终极工具。从 SQLite 开始进行本地开发,扩展到 SQL/NoSQL 以跨多个服务器进行测试,并通过集中式日志记录和警报保持生产就绪。它简单、灵活且功能强大。
准备好升级您的日志记录了吗?埃索尔为你提供支持。 ?
GitHub 网址:https://github.com/errsole/errsole.js
以上是Node.js 日志记录:本地、测试和生产的详细内容。更多信息请关注PHP中文网其他相关文章!