Como desenvolvedor Node.js, o log é praticamente tudo quando se trata de depuração, monitoramento e manutenção de seus aplicativos. Mas você está usando as práticas recomendadas de registro? Vamos explorar algumas técnicas de registro que podem levar seus aplicativos Node.js para o próximo nível.
Para saber mais, você pode conferir a postagem completa do blog.
? Ferramenta: Winston
? Descrição: uma biblioteca de registro versátil para Node.js
? Principais recursos:
javascriptCopyconst winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transports.File({ filename: 'error.log', level: 'error' }), new winston.transports.File({ filename: 'combined.log' }) ] });
? Ferramenta: Morgan
? Descrição: simplifica o registro de solicitações HTTP em Express.js
? Principais recursos:
javascriptCopyconst express = require('express'); const morgan = require('morgan'); const app = express(); app.use(morgan('combined'));
? Ferramenta: Bunyan
? Descrição: registro JSON estruturado para aplicativos Node.js
? Principais recursos:
javascriptCopyconst bunyan = require('bunyan'); const log = bunyan.createLogger({name: "myapp"}); log.info("Hi"); log.warn({lang: 'fr'}, "Au revoir");
? Ferramenta: Pino
? Descrição: registro em log de baixa sobrecarga com saída JSON
? Principais recursos:
javascriptCopyconst pino = require('pino'); const logger = pino(); logger.info('hello world'); logger.error('this is at error level');
? Ferramenta: depuração
? Descrição: pequeno utilitário de depuração para Node.js
? Principais recursos:
javascriptCopyconst debug = require('debug')('http'); debug('booting %o', name);
? Ferramenta: Log4js
? Descrição: Uma conversão da estrutura log4j para JavaScript
? Principais recursos:
javascriptCopyconst log4js = require("log4js"); log4js.configure({ appenders: { cheese: { type: "file", filename: "cheese.log" } }, categories: { default: { appenders: ["cheese"], level: "error" } } }); const logger = log4js.getLogger("cheese"); logger.error("Cheese is too ripe!");
? Ferramenta: Pilha ELK
? Descrição: Uma combinação poderosa para gerenciamento e análise de logs
? Principais recursos:
javascriptCopyconst winston = require('winston'); const Elasticsearch = require('winston-elasticsearch'); const esTransportOpts = { level: 'info', clientOpts: { node: 'http://localhost:9200' } }; const logger = winston.createLogger({ transports: [ new Elasticsearch(esTransportOpts) ] });
? Ferramenta: Sentinela
? Descrição: rastreamento de erros e monitoramento de desempenho em tempo real
? Principais recursos:
javascriptCopyconst Sentry = require("@sentry/node"); Sentry.init({ dsn: "https://[email protected]/0" }); try { someFunction(); } catch (e) { Sentry.captureException(e); }
? Ferramenta: Nova Relíquia
? Descrição: Monitoramento abrangente de desempenho de aplicativos
? Principais recursos:
javascriptCopyconst newrelic = require('newrelic'); newrelic.setTransactionName('myCustomTransaction'); // Your application code here
? Ferramenta: Loggly
? Descrição: serviço de gerenciamento e análise de logs baseado em nuvem
? Principais recursos:
javascriptCopyconst winston = require('winston'); const { Loggly } = require('winston-loggly-bulk'); winston.add(new Loggly({ token: "YOUR-TOKEN", subdomain: "YOUR-SUBDOMAIN", tags: ["Winston-NodeJS"], json: true }));
winston.log('info', "Olá mundo do Node.js!");
Independentemente da ferramenta escolhida, a implementação de registros estruturados pode melhorar muito seus recursos de análise de registros:
javascriptCopylogger.info({ event: 'user_login', userId: user.id, timestamp: new Date().toISOString(), ipAddress: req.ip });
Ao usar essas ferramentas e práticas adicionais, você terá uma estratégia de registro abrangente que cobre tudo, desde depuração básica até monitoramento avançado de desempenho de aplicativos. Lembre-se de que a chave para um registro eficaz é escolher as ferramentas certas para suas necessidades específicas e aplicar consistentemente as melhores práticas em toda a sua base de código.
Se precisar de ajuda para depurar seu aplicativo da web, confira https://alerty.ai para saber mais sobre o monitoramento fácil de front-end.
Bom registro e que seus aplicativos Node.js funcionem perfeitamente! ??
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3