@spytecgps/lambda-utils 3.0.9 → 3.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,7 @@ var httpResponseSerializer = require('@middy/http-response-serializer');
6
6
  var sqsJsonBodyParser = require('@middy/sqs-json-body-parser');
7
7
  var contextualLogger = require('./contextualLogger.js');
8
8
  var ioLogger = require('./ioLogger.js');
9
+ var logSampling = require('./logSampling.js');
9
10
  var normalizer = require('./normalizer.js');
10
11
  var offlineAuthorizer = require('./offlineAuthorizer.js');
11
12
  var responseWrapper = require('./responseWrapper.js');
@@ -13,6 +14,7 @@ var warmup = require('./warmup.js');
13
14
 
14
15
  // Function that returns base middlewares with required logger
15
16
  const getBaseMiddlewares = ({ logger }) => [
17
+ logSampling.logSamplingMiddleware({ logger }), // always include — no-ops if no sampling
16
18
  warmup.warmupMiddleware(),
17
19
  contextualLogger.contextualLogger({ logger }),
18
20
  ioLogger.ioLogger({ logger }),
@@ -0,0 +1,12 @@
1
+ import { MiddlewareObj } from '@middy/core';
2
+ import { HapnLogger } from '@spytecgps/sdk-logger';
3
+ export declare class LogSamplingMiddleware implements MiddlewareObj {
4
+ private readonly logger;
5
+ constructor(logger: HapnLogger);
6
+ before: () => void;
7
+ after: () => void;
8
+ onError: () => void;
9
+ }
10
+ export declare const logSamplingMiddleware: ({ logger }: {
11
+ logger: HapnLogger;
12
+ }) => LogSamplingMiddleware;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ class LogSamplingMiddleware {
4
+ logger;
5
+ constructor(logger) {
6
+ this.logger = logger;
7
+ }
8
+ before = () => {
9
+ this.logger.startRequest();
10
+ };
11
+ after = () => {
12
+ this.logger.endRequest({ error: false });
13
+ };
14
+ onError = () => {
15
+ this.logger.endRequest({ error: true });
16
+ };
17
+ }
18
+ const logSamplingMiddleware = ({ logger }) => new LogSamplingMiddleware(logger);
19
+
20
+ exports.LogSamplingMiddleware = LogSamplingMiddleware;
21
+ exports.logSamplingMiddleware = logSamplingMiddleware;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/lambda-utils",
3
- "version": "3.0.9",
3
+ "version": "3.0.10",
4
4
  "description": "Lambda Utils",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -41,13 +41,13 @@
41
41
  "qs": "^6.10.1"
42
42
  },
43
43
  "peerDependencies": {
44
- "@spytecgps/sdk-logger": "^2.0.18"
44
+ "@spytecgps/sdk-logger": "^2.0.21"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@aws-sdk/client-lambda": "^3.731.1",
48
48
  "@eslint/js": "^9.18.0",
49
49
  "@rollup/plugin-typescript": "^12.1.2",
50
- "@spytecgps/sdk-logger": "^2.0.18",
50
+ "@spytecgps/sdk-logger": "^2.0.21",
51
51
  "@types/aws-lambda": "^8.10.76",
52
52
  "@types/node": "^22",
53
53
  "@typescript-eslint/eslint-plugin": "^8.21.0",