nx-logger-aws
TypeScript icon, indicating that this package has built-in type declarations

0.5.3 • Public • Published

NX-LOGGER

Es una librería para gestionar los logs de aws (aws-lambda).


Instalación

npm i nx-logger-aws

Uso

La librería usa el patron singleton, por ende existe una solo instancia, puede estar inicializada en algún servicio o utils (es solo una recomendación).


// CommonJS
const { Logger } = require('nx-logger-aws');

ó


// ESM
import { Logger } 'nx-logger-aws';

Inicializar 


const logger = Logger.getInstance({
	owner: '', // *string
	region: ', // *string
	service: '', // *string
	urlClient: '', // *string
});

Uso

En el archivo de la Lambda Function, se va a setear el contexto, existen 2 tipos de contexto:

  • setContextLogger: es para eventos HTTP de tipo APIGatewayProxyEvent.
  • setContextSQS: se usa para eventos SQS de SQSEvent.

NOTA: types de aws usados para la librería. (para Typescript)


// Lambda Function Contexto HTTP
exports.Handler = async (event: APIGatewayProxyEvent, context: Context) => {
	logger.setContextLogger(event, context);
}

// Lambda Function Contexto SQS
exports.Handler = async (event: SQSEvent, context: Context) => {
	logger.setContextSQS(event, context);
}

La librería disponibiliza 2 métodos para loggear info - errorlog.

Listado de enums para documentar los logs correctamente están disponibles en la librería:

enum LOG_TYPES {
	DYNAMODB_REQ = 'dynamo_call',
	DYNAMODB_RES = 'dynamo_response',
	HTTP_REQUEST = 'http_request',
	SNS_RESPONSE = 'sns_response',
	SQS_RESPONSE = 'sqs_response',
	SQS_REQUEST = 'sqs_call',
	LAMBDA_REQ = 'lambda_call',
}
enum LOG_TAGS {
  DYNAMODB_REQ_TAG = '[DYNAMODB_REQUEST]',
  DYNAMODB_RES_TAG = '[DYNAMODB_RESPONSE]',
  DYNAMODB_ERROR_TAG = '[DYNAMODB_ERROR]',
  HTTP_SUCCESS_TAG = '[SUCCESS_RESPONSE]',
  HTTP_ERROR_TAG = '[CATCH_ERROR]',
  SNS_RES_TAG = '[SNS_RESPONSE]',
  SNS_ERROR_TAG = '[SNS_ERROR]',
  SQS_RES_TAG = '[SQS_RESPONSE]',
  SQS_REQ_TAG = '[SQS_REQUEST]',
  SQS_ERROR_TAG = '[SQS_ERROR]',
  LAMBDA_REQ_TAG = '[LAMBDA_REQUEST]',
}

// Log Info
logger.info({
	msg: LOG_TAGS.HTTP_SUCCESS_TAG, // *string
	type: LOG_TYPES.HTTP_REQUEST, // *LOG_TYPES
	request: {}, // object
	response: {}, // object
});

// Log Error
logger.errorlog({
	statusCode: 500, // number
	error: '', // *string | object
	msg: '', // *string
	type: LOG_TYPES.HTTP_REQUEST, // *LOG_TYPES
});

Readme

Keywords

none

Package Sidebar

Install

npm i nx-logger-aws

Weekly Downloads

0

Version

0.5.3

License

MIT

Unpacked Size

119 kB

Total Files

36

Last publish

Collaborators

  • lucasedfc_