Um guia para iniciantes para Winston em Node.js – SitePoint


Winston é uma biblioteca popular de madeira para Node.jsprojetado para simplificar o processo de criação, formatação e transporte de mensagens de log. Ele fornece um sistema de log flexível e modular com vários transportes e formatos, permitindo que os desenvolvedores adaptem o registro aos seus requisitos específicos.

Neste artigo, você aprenderá sobre práticas e princípios fundamentais do registro e entenderá por que o registro é essencial no desenvolvimento de aplicativos. Além disso, você configurará Winston em um projeto Node.js Vultr Compute Server e configurar diferentes níveis de registro.

Este é um artigo patrocinado da Vultr. O Vultr é a maior plataforma de computação em nuvem de capital privado. A favorita dos desenvolvedores, a Vultr atendeu a mais de 1,5 milhão de clientes em 185 países com soluções flexíveis, escaláveis ​​e globais de nuvem, GPU em nuvem, metal nu e armazenamento em nuvem. Saiba mais sobre Vultr.

Por que o registro é importante

O registro desempenha um papel crucial no desenvolvimento de aplicativos, fornecendo vários benefícios:

  1. Depuração: os logs ajudam os desenvolvedores a identificar e resolver problemas, identificando a causa raiz de erros e exceções.
  2. Monitoramento: os logs oferecem informações valiosas sobre o desempenho do aplicativo, o uso de recursos e o comportamento do usuário, permitindo a solução proativa de problemas e a otimização do sistema.
  3. Auditoria: os logs servem como um registro histórico de eventos do sistema, facilitando o rastreamento de alterações, detectam violações de segurança e atendem aos requisitos regulatórios.

Práticas e princípios fundamentais da exploração

O registro deve ser abordado com cuidado e consideração. Aqui estão algumas práticas e princípios recomendados a serem lembrados:

  1. Log no nível apropriado: use diferentes níveis de log (por exemplo, erro, aviso, informação, depuração) para categorizar mensagens com base em sua gravidade e importância.
  2. Seja consistente: padronize os formatos de mensagens de log e inclua contexto relevante, como registro de data e hora, níveis de log e mensagens de erro.
  3. Dados estruturados de log: use formatos estruturados de log, como JSON, para facilitar a análise, análise e integração com ferramentas de monitoramento.
  4. Minimize a sobrecarga do registro: evite o registro excessivo, pois pode afetar negativamente o desempenho e gerar ruído, dificultando a identificação de problemas críticos.
  5. Dados confidenciais seguros: seja cauteloso ao registrar informações confidenciais, como senhas, tokens ou dados pessoais, para evitar acesso não autorizado e proteger a privacidade do usuário.

Níveis básicos de Winston e registro

Winston suporta vários níveis de registro para ajudá -lo a categorizar mensagens de log com base na gravidade deles:

  1. error: Erros críticos que causam falha no aplicativo ou degradação severa.
  2. warn: Avisos não críticos que indicam questões em potencial ou comportamento inesperado.
  3. info: Mensagens informativas que fornecem contexto ou descrevem a operação normal do aplicativo.
  4. debug: Informações detalhadas de depuração que ajudam os desenvolvedores a entender o funcionamento interno do aplicativo.
  5. verbose: Informações extremamente detalhadas, normalmente usadas para solução de problemas avançadas ou análise de desempenho.
  6. silly: O nível de registro menos grave, geralmente usado para registrar eventos triviais ou insignificantes.

Configurando Winston em seu projeto Node.js

Para começar com Winston, siga estas etapas:

  1. Implantar uma instância de computação Vultr usando o Portal do cliente Vultr com Node.js Aplicação de mercado.
  2. Com segurança Acesse o servidor usando SSH como um Usuário de Sudo-Sudo sem raios.
  3. Atualize o servidor.
  4. Crie um novo projeto Node.js e inicialize um package.json arquivo:
  5. Instale Winston e Express.
  6. Crie um novo arquivo chamado app.js.
  7. Adicione o seguinte código.

    Salvar e sair do arquivo.

  8. Permitir conexões de entrada para o porto 3000.
  9. Execute o aplicativo.

    Agora, ao acessar as rotas, você receberá os logs no formato a seguir.

  10. Crie um novo arquivo chamado logger.js.
  11. Adicione o seguinte código.

    Salvar e sair do arquivo.

  12. Abra o app.js Arquivo para configurar o Winston Logger.
  13. Edite a configuração existente.
  14. Execute o aplicativo.

    Agora, ao acessar as rotas, você receberá os logs no seguinte formato JSON.

Faça mais com Vultr

Conclusão

O registro é um aspecto essencial do desenvolvimento de aplicativos, fornecendo informações valiosas sobre o desempenho do sistema, o comportamento do usuário e a resolução de erros. Ao usar Winston, uma biblioteca de madeira poderosa e flexível para o Node.js, você pode criar, formatar e transportar mensagens de log facilmente adaptadas às suas necessidades específicas. Com o conhecimento adquirido neste artigo, agora você está equipado para incorporar práticas de registro eficazes em seus projetos node.js.



Source link