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
.
npm install @rediseg/logger
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
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
error
também será reportado automaticamente ao New Relic vianoticeError
, a menos que desabilitado por variável 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 |
npm install
npm run build
export NPM_TOKEN='insira seu tokennpm'
npm publish --access public
MIT - Rediseg