JavaScriptMódulos e Errosintermediario

Logger modular

Em projetos reais, espalhar console.log pelo código dificulta manutenção e análise de logs. Um módulo centralizado de logging permite padronizar formato (timestamp, nível) e alterar o comportamento globalmente sem mexer em cada arquivo. Frameworks como Express ou Winston usam esse padrão para debugar e monitorar aplicações em produção.

O PROBLEMA

Crie módulo logger.js com info, warn, error, debug prefixados com nível e timestamp.

EXEMPLO

import { info } from "./logger.js";
info("Servidor iniciado") → [INFO 2026-06-13T...] Servidor iniciado

SOBRE O CONCEITO

O exercício pede um módulo que exporta funções nomeadas (info, warn, error, debug), cada uma construindo uma string no formato [NÍVEL TIMESTAMP] mensagem. A ideia é usar export para expor as funções e import para consumi-las em outros arquivos. O erro comum de não incluir timestamp quebra a rastreabilidade dos logs — sem ele, você perde a ordem cronológica e não consegue correlacionar eventos. Use new Date().toISOString() dentro de uma template literal (${...}) para gerar o timestamp. Repare que export default é proibido para incentivar a prática de exportações nomeadas, e class é proibido porque não precisamos de orientação a objetos aqui — funções puras são suficientes.

RESOLUÇÃO

Mais exercícios de Módulos e Erros

JSM003 · BásicoTipos de erroJSM005 · BásicoError propertiesJSM006 · BásicoExport nomeadoJSM008 · BásicoImport * as
Ver todos os exercícios de JavaScript