0.0.1-beta • Published 6 months ago

@atos6/serverless-utils v0.0.1-beta

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
6 months ago

serverless-utils

This packages will help out with our lambdas, with shared code between then.

Features

  • Logger
Parameter nameDescription
serviceThe service name which the logger is being reporting, it is useful when our lambda logger move to a centralized logger
formatDefault: 'json', will print the log as json format, available options are: 'json', 'plain'. Plain will print directly to the console as normal text

Example:

import { Logger } from '@raise-sistemas/serverless-utils'

const logger = new Logger({ service: 'PAYMENTS' })

const transaction = {
  id: '123'
}

logger.info(`Payment transaction create with ${transaction.id}`)

The logger above will print as json (as defined by default) as:

{
  "service": "PAYMENTS",
  "message": "Payment transaction create with 123",
  "data": {}
}

Or if the plain format is choosen:

[PAYMENTS]: 'Payment transaction create with 123'

The last data field on json format is filled if instead of passing the above logger.info, passing an additional parameters to the logger, see below:

logger.info(`Payment transaction create with ${transaction.id}`, transaction)

PS: Might be useful to debug and see what kind of data raises a logger message.

{
  "service": "PAYMENTS",
  "message": "Payment transaction create with 123",
  "data": {
    "id": "123"
  }
}

The log levels defined are: 'info', 'warn', 'error' and 'debug'

logger.info(`Payment transaction create with ${transaction.id}`, transaction)
logger.warn(`Payment transaction create with ${transaction.id}`, transaction)
logger.error(`Payment transaction create with ${transaction.id}`, transaction)
logger.debug(`Payment transaction create with ${transaction.id}`, transaction)
  • Response

This has an only one function for now called create:

import { Response } from '@raise-sistemas/serverless-utils'

Response.create(422, { 'error': 'payment_transaction_invalid' })

It's useful with aws lambda response to finish a call through API Gateway

0.0.1-beta

6 months ago