1.6.0 • Published 6 months ago
@rediseg/logger v1.6.0
@rediseg/logger
Logger com Winston + New Relic para funções Lambda usando o framework Serverless.
Criado para a Rediseg como biblioteca de logging observável com suporte a
noticeError.
🚀 Instalação
npm install @rediseg/logger🔗 Uso local com npm link
Se quiser testar a lib localmente sem publicar:
- Dentro da pasta da lib:
npm install
npm run build
npm link- No projeto onde deseja testar:
npm link @rediseg/logger- Para desfazer o link:
npm unlink @rediseg/logger
npm uninstall @rediseg/logger🛠 Uso
import { redisegLogger } from "@rediseg/logger";
redisegLogger.info("Iniciando função Lambda");
redisegLogger.debug("Dados recebidos", { data });
redisegLogger.warn("Configuração ausente");
redisegLogger.error(new Error("Falha ao processar evento"), { eventId: "123" });Qualquer log com nível
errortambém será reportado automaticamente ao New Relic vianoticeError, a menos que desabilitado por variável de ambiente.
🌍 Variáveis de ambiente
| Variável | Obrigatório? | Default | Descrição |
|---|---|---|---|
NEW_RELIC_ENABLED | não | 'false' | Indica se logs devem ser enviados para o NewRelic |
NEW_RELIC_LICENSE_KEY | sim | Chave de licença do New Relic (obrigatória para envio de métricas) | |
NEW_RELIC_APP_NAME | sim | Nome da aplicação que aparece no New Relic | |
NEW_RELIC_NO_CONFIG_FILE | não | 'false' | Use true se não quiser usar newrelic.js |
NEW_RELIC_LOG_ENABLED | não | 'true' (false in serverless_mode) | Ativa logs do agente do New Relic (true para debug) |
REDISEG_LOGGER_LOG_LEVEL | não | 'info' | Nível de log da aplicação (debug, info, warn, error, etc.) |
REDISEG_LOGGER_DEBUG | não | 'false' | Habilita debug |
REDISEG_LOGGER_NOTICE_ERRORS | não | 'true' | true (default) para chamar noticeError; false para não notificar |
REDISEG_LOGGER_CONSOLE_LOG_ENABLED | não | 'true' | Ativa/desativa log no console. É possível usar apenas o transporte do NewRelic e economizar no CloudWatch |
REDISEG_LOGGER_SHOW_TIMESTAMPS | não | 'true' | Mostra timestamps nas mensagens de log no console |
REDISEG_LOGGER_TIMESTAMP_FORMAT | não | YYYY-MM-DD hh:mm:ss.SSSA | Formato a ser aplicado quando REDISEG_LOGGER_SHOW_TIMESTAMPS=true |
REDISEG_LOGGER_PRETTIFY_DETAILS | não | 'false' | Imprime objetos JSON identados |
🧪 Desenvolvimento
npm install
npm run build📦 Publicação
export NPM_TOKEN='insira seu tokennpm'
npm publish --access public📝 Licença
MIT - Rediseg