Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

241
Visualizações
Cómo hacer un inicio de sesión adecuado en nodejs

Tengo un servicio que usa la clase contenedora para el registrador de Winston para registrar las llamadas HTTP, fallas internas, etc. para poder mantener el servicio en producción.

el comportamiento del registro es algo como esto

 function getUser(req, res, next) { try { logger.info("user::api::getUser", "controller called"); // do some stuff here, call the service related and return response } catch(err) { logger.error("user::api::getUser", err); } }

y también se llama a este registrador en todas las funciones posteriores junto con la aplicación, como servicios, capas de acceso a la base de datos, controladores, middleware, etc.

En realidad, estoy decepcionado por llamar al logger en cada función que escribo, lo que siento que contamina el código y no hago single responsibility principle also makes the code violates . tiene que pasar por todas las funciones que el registrador usó dentro y actualizarlo a la nueva sintaxis que no es buena

Pensé si puedo usar eventos controlados, me refiero a emisores de eventos para emitir eventos en cada falla, llamar y los controladores de estos eventos escribirán el registro apropiado

por ejemplo algo como esto

 function getUser(req, res, next) { try { eventEmitter("info", "controller called"); // do some stuff here, call the service related and return response } catch(err) { eventEmitter.emit("error", err); } }

y aquí está el oyente

 eventEmitter.on("error", (err) => { logger.error("error", err); });

Veo que esta sintaxis oculta la implementación de llamar al registrador en una función en lugar de llamarlo en cada parte de la aplicación, pero aún así, las funciones están contaminadas porque todavía tengo que llamar al emisor de eventos dentro de ellas para emitir el evento de registro

¡No sé si hay una forma inteligente de implementar el registro sin llamar al registrador en cada parte de la aplicación como esta! Además, me pregunto cómo las empresas gigantes manejan estos casos en sus aplicaciones.

Espero que alguien me responda y me guíe en la dirección correcta.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda