-
Notifications
You must be signed in to change notification settings - Fork 76
Expand file tree
/
Copy pathindex.js
More file actions
35 lines (31 loc) · 1.19 KB
/
index.js
File metadata and controls
35 lines (31 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const middy = require('@middy/core')
const sampleLogging = require('@dazn/lambda-powertools-middleware-sample-logging')
const captureCorrelationIds = require('@dazn/lambda-powertools-middleware-correlation-ids')
const logTimeout = require('@dazn/lambda-powertools-middleware-log-timeout')
const supplementCsv = require('./supplement-csv')
const AWS_REGION = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION
const FUNCTION_NAME = process.env.AWS_LAMBDA_FUNCTION_NAME
const FUNCTION_VERSION = process.env.AWS_LAMBDA_FUNCTION_VERSION
const ENV = process.env.ENVIRONMENT || process.env.STAGE
if (process.env.DATADOG_PREFIX === undefined) {
process.env.DATADOG_PREFIX = FUNCTION_NAME + '.'
}
process.env.DATADOG_TAGS = supplementCsv({
existing: process.env.DATADOG_TAGS,
additional: {
awsRegion: AWS_REGION,
functionName: FUNCTION_NAME,
functionVersion: FUNCTION_VERSION,
environment: ENV
}
})
module.exports = f => {
return middy(f)
.use(captureCorrelationIds({
sampleDebugLogRate: parseFloat(process.env.SAMPLE_DEBUG_LOG_RATE || '0.01')
}))
.use(sampleLogging({
sampleRate: parseFloat(process.env.SAMPLE_DEBUG_LOG_RATE || '0.01')
}))
.use(logTimeout())
}