1.0.1 • Published 1 year ago

@anota.ai/logger v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

Logger

O módulo logger.js fornece um simples logger com zero dependências.

Funcionamento

O logger só irá produzir mensagens com nível igual ou superior ao nível configurado, com exceção dos níveis "error" e "fatal", que sempre serão logados. Caso o nível configurado seja inválido, o logger irá logar uma mensagem de erro fatal e encerrar o processo com o código de saída 1.

O nível de log pode ser configurado através da variável de ambiente LOG_LEVEL.

Também é possível configurar o formato da mensagem de log através da variável de ambiente LOG_FORMAT. Os seguintes formatos estão disponíveis:

  • json - Formato JSON, exemplo:

    { "level": "debug", "message": "inicializando aplicação", "context": { "port": 3000 } }

  • simple - Formato simples, exemplo:

    [debug] inicializando aplicação (context omitted)

  • pretty - Formato JSON com indentação, exemplo:

{
  "level": "debug",
  "message": "inicializando aplicação",
  "context": {
    "port": 3000
  }
}

API

debug(message: string, context: object?)

info(message: string, context: object?)

warn(message: string, context: object?)

error(message: string, context: object?)

fatal(message: string, context: object?)

Exemplos

O código abaixo mostra um exemplo de como utilizar o logger:

const logger = require('@anota.ai/logger');

logger.info('Iniciando aplicação', { port: process.env.PORT });

try {
    const result = await someFunction();
    logger.info('Função executada com sucesso', { data: result });
} catch (e) {
    logger.error('Erro na função', { error: e });
}

logger.warn('Algo que pode gerar um problema futuramente');
logger.debug('Alguma informação para debug', { data: [1, 2, 3, 4] });

const context = {
    engine: 'RB26',
    price: 100000,
    imported: true
}

logger.debug('Nova compra de carro', context);

Contato

Em caso de dúvidas sobre a utilização ou configuração do logger, favor encaminhar um email para rsouza@anota.ai.

1.0.1

1 year ago

1.0.0

1 year ago