Serverless Apigateway Log Retention

homepage icon https://github.com/dvla/serverless-apigateway-log-retention
Follow @dvla

Tracked

NPM Downloads Last Month
1950
Issues
0
Stars
0
Forks
0
Watchers
0
Watch Star Fork Issue Download License NPM Build Status Coverage Status Contributors

Repo README Contents:

ApiGateway Log Retention

Control the retention of your ApiGateway access logs and execution logs.

Installation

From your target serverless project, run:

npm install serverless-apigateway-log-retention

Add the plugin to your serverless.yml:

plugins:
  - serverless-apigateway-log-retention

Configuration

Configuration happens ‘globally’ via custom.apigatewayLogRetention

PLEASE NOTE THAT THE PLUGIN REQUIRES THE FOLLOWING AWS PERMISSIONS:

CloudWatch Logs

ApiGateway

Plugin Options

accessLogging.enabled (optional) - Whether or not to update access logging retention policy. Set to false by default.

accessLogging.days (required) - Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653 and ‘never expire’.

executionLogging.enabled (optional) - Whether or not to update execution logging retention policy. Set to false by default.

executionLogging.days (required) - Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653 and ‘never expire’.

Examples

serverless.yml - Enabled for execution logging and disabled for access logging:

service: sample

plugins:
  - serverless-apigateway-log-retention

provider:
  name: aws

custom:
  apigatewayLogRetention:
    executionLogging:
      enabled: true
      days: 'never expire'


serverless.yml - Enabled for access logging and execution logging:

service: sample

plugins:
  - serverless-apigateway-log-retention

provider:
  name: aws

custom:
  apigatewayLogRetention:
    executionLogging:
      enabled: true
      days: 14
    accessLogging:
      enabled: true
      days: 7

Note: This plugin might not be suitable if you have over 500 APIs in the region you are deploying to.