@nestjs-labs/pino-http-extra 1.5.0 → 1.5.3

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.
package/README.md CHANGED
@@ -27,28 +27,28 @@ npm install @nestjs-labs/pino-http-extra
27
27
  ### Basic Setup
28
28
 
29
29
  ```typescript
30
- import pino from 'pino'
31
- import pinoHttp from 'pino-http'
32
- import { getPinoHttpOption, getMultiDestinationStream } from '@nestjs-labs/pino-http-extra'
33
-
34
- const level = process.env.LOG_LEVEL || 'info'
35
- const app = process.env.APP_NAME || 'my-app'
36
- const pinoHttpOption = getPinoHttpOption(level, 'spanId', 'traceId')
37
- const filename = process.env.LOG_FILE || 'logs/app.log'
38
- const loki = process.env.LOKI_HOST
39
- const multiStream = getMultiDestinationStream(app, level as pino.Level, filename, loki)
40
- const pinoHttpLogger = pinoHttp(pinoHttpOption)
41
- const logger = pino(pinoHttpOption, multiStream)
30
+ import pino from 'pino';
31
+ import pinoHttp from 'pino-http';
32
+ import { getPinoHttpOption, getMultiDestinationStream } from '@nestjs-labs/pino-http-extra';
33
+
34
+ const level = process.env.LOG_LEVEL || 'info';
35
+ const app = process.env.APP_NAME || 'my-app';
36
+ const pinoHttpOption = getPinoHttpOption(level, 'spanId', 'traceId');
37
+ const filename = process.env.LOG_FILE || 'logs/app.log';
38
+ const loki = process.env.LOKI_HOST;
39
+ const multiStream = getMultiDestinationStream(app, level as pino.Level, filename, loki);
40
+ const pinoHttpLogger = pinoHttp(pinoHttpOption);
41
+ const logger = pino(pinoHttpOption, multiStream);
42
42
  ```
43
43
 
44
44
  ### Express.js Integration
45
45
 
46
46
  ```typescript
47
- import express from 'express'
48
- import pinoHttp from 'pino-http'
49
- import { getPinoHttpOption, getMultiDestinationStream } from '@nestjs-labs/pino-http-extra'
47
+ import express from 'express';
48
+ import pinoHttp from 'pino-http';
49
+ import { getPinoHttpOption, getMultiDestinationStream } from '@nestjs-labs/pino-http-extra';
50
50
 
51
- const app = express()
51
+ const app = express();
52
52
  const multiStream = getMultiDestinationStream(app, 'info', 'logs/app.log', {
53
53
  host: 'http://loki:3100',
54
54
  basicAuth: {
@@ -59,38 +59,38 @@ const multiStream = getMultiDestinationStream(app, 'info', 'logs/app.log', {
59
59
  app,
60
60
  service: app,
61
61
  },
62
- })
63
- const pinoHttpOption = getPinoHttpOption()
64
- const pinoHttpLogger = pinoHttp(pinoHttpOption)
62
+ });
63
+ const pinoHttpOption = getPinoHttpOption();
64
+ const pinoHttpLogger = pinoHttp(pinoHttpOption);
65
65
 
66
- app.use(pinoHttpLogger)
66
+ app.use(pinoHttpLogger);
67
67
 
68
68
  app.get('/', (req, res) => {
69
- req.log.info('Hello from pino-http-extra!')
70
- res.json({ message: 'Hello World!' })
71
- })
69
+ req.log.info('Hello from pino-http-extra!');
70
+ res.json({ message: 'Hello World!' });
71
+ });
72
72
 
73
73
  app.listen(3000, () => {
74
- console.log('Server running on port 3000')
75
- })
74
+ console.log('Server running on port 3000');
75
+ });
76
76
  ```
77
77
 
78
78
  ### Fastify Integration
79
79
 
80
80
  ```typescript
81
- import Fastify from 'fastify'
82
- import { getPinoHttpOption } from '@nestjs-labs/pino-http-extra'
81
+ import Fastify from 'fastify';
82
+ import { getPinoHttpOption } from '@nestjs-labs/pino-http-extra';
83
83
 
84
84
  const fastify = Fastify({
85
- logger: getPinoHttpOption()
86
- })
85
+ logger: getPinoHttpOption(),
86
+ });
87
87
 
88
88
  fastify.get('/', async (request, reply) => {
89
- request.log.info('Hello from pino-http-extra!')
90
- return { message: 'Hello World!' }
91
- })
89
+ request.log.info('Hello from pino-http-extra!');
90
+ return { message: 'Hello World!' };
91
+ });
92
92
 
93
- fastify.listen({ port: 3000 })
93
+ fastify.listen({ port: 3000 });
94
94
  ```
95
95
 
96
96
  ## API Reference
@@ -102,6 +102,7 @@ fastify.listen({ port: 3000 })
102
102
  Get pino-http options with OpenTelemetry integration and security features.
103
103
 
104
104
  **Parameters:**
105
+
105
106
  - `level`: `string` (default: `'info'`) - Log level
106
107
  - `spanIdKey`: `string` (default: `'spanId'`) - OpenTelemetry span ID key
107
108
  - `traceIdKey`: `string` (default: `'traceId'`) - OpenTelemetry trace ID key
@@ -113,6 +114,7 @@ Get pino-http options with OpenTelemetry integration and security features.
113
114
  Create multi-destination stream supporting pretty, file, and Loki outputs.
114
115
 
115
116
  **Parameters:**
117
+
116
118
  - `app`: `string` - Application name for Loki labels
117
119
  - `level`: `pino.Level` (default: `'info'`) - Log level
118
120
  - `filepath`: `string` (optional) - Log file path for rotation
@@ -125,14 +127,14 @@ Create multi-destination stream supporting pretty, file, and Loki outputs.
125
127
  ### Custom Logging
126
128
 
127
129
  ```typescript
128
- import pino from 'pino'
129
- import { getPinoHttpOption } from '@nestjs-labs/pino-http-extra'
130
+ import pino from 'pino';
131
+ import { getPinoHttpOption } from '@nestjs-labs/pino-http-extra';
130
132
 
131
- const logger = pino(getPinoHttpOption())
133
+ const logger = pino(getPinoHttpOption());
132
134
 
133
- logger.info('Application started')
134
- logger.warn('Warning message')
135
- logger.error('Error occurred', { error: new Error('Something went wrong') })
135
+ logger.info('Application started');
136
+ logger.warn('Warning message');
137
+ logger.error('Error occurred', { error: new Error('Something went wrong') });
136
138
  ```
137
139
 
138
140
  ### HTTP Request Logging
@@ -141,9 +143,9 @@ The middleware automatically logs HTTP requests with:
141
143
 
142
144
  - **Request ID**: Automatically generated and tracked
143
145
  - **Response Time**: Automatic timing of request duration
144
- - **Status Code Logging**:
146
+ - **Status Code Logging**:
145
147
  - 2xx: `info` level
146
- - 4xx: `warn` level
148
+ - 4xx: `warn` level
147
149
  - 5xx: `error` level
148
150
  - 3xx: `silent` level
149
151
  - **Sensitive Data Redaction**: Automatic redaction of password fields
@@ -175,4 +177,4 @@ The middleware automatically logs HTTP requests with:
175
177
 
176
178
  ## License
177
179
 
178
- MIT
180
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAChC,SAAS,SAAW,EACpB,UAAU,SAAY;mBAGN,MAAM;;;gBAIT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAapC"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,CAAC,SAAS,SAAW,EAAE,UAAU,SAAY;mBAE3D,MAAM;;;gBAIT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAatC"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":";;AAMA,8CAsBC;AA5BD,4CAAoD;AAMpD,SAAgB,iBAAiB,CAChC,SAAS,GAAG,QAAQ,EACpB,UAAU,GAAG,SAAS;IAEtB,OAAO;QACN,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACzB,CAAC;QAED,GAAG,CAAC,MAA+B;YAClC,MAAM,IAAI,GAAG,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,IAAI;gBAAE,OAAO,MAAM,CAAC;YACzB,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;YAEnE,IAAI,CAAC,WAAW;gBAAE,OAAO,MAAM,CAAC;YAEhC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAExC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;QAClE,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":";;AAMA,8CAmBC;AAzBD,4CAAoD;AAMpD,SAAgB,iBAAiB,CAAC,SAAS,GAAG,QAAQ,EAAE,UAAU,GAAG,SAAS;IAC5E,OAAO;QACL,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QAED,GAAG,CAAC,MAA+B;YACjC,MAAM,IAAI,GAAG,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,IAAI;gBAAE,OAAO,MAAM,CAAC;YACzB,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;YAEnE,IAAI,CAAC,WAAW;gBAAE,OAAO,MAAM,CAAC;YAEhC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;YAExC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;QACnE,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,iDAAoD;AAA3C,kHAAA,iBAAiB,OAAA;AAC1B,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAC1B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,2CAKsB;AAJpB,mHAAA,qBAAqB,OAAA;AACrB,mHAAA,qBAAqB,OAAA;AACrB,qHAAA,uBAAuB,OAAA;AACvB,uHAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,iDAAoD;AAA3C,kHAAA,iBAAiB,OAAA;AAC1B,2CAAiD;AAAxC,+GAAA,iBAAiB,OAAA;AAC1B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,2CAKsB;AAJpB,mHAAA,qBAAqB,OAAA;AACrB,mHAAA,qBAAqB,OAAA;AACrB,qHAAA,uBAAuB,OAAA;AACvB,uHAAA,yBAAyB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,iBAAiB,CAChC,KAAK,SAAS,EACd,SAAS,SAAW,EACpB,UAAU,SAAY,GACpB,OAAO,CAmDT"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,EAAE,SAAS,SAAW,EAAE,UAAU,SAAY,GAAG,OAAO,CA0CvG"}
package/dist/options.js CHANGED
@@ -22,12 +22,7 @@ function getPinoHttpOption(level = 'info', spanIdKey = 'spanId', traceIdKey = 't
22
22
  formatters: (0, formatters_js_1.getOtelFormatters)(spanIdKey, traceIdKey),
23
23
  serializers: (0, serializers_js_1.getSerializers)(),
24
24
  redact: {
25
- paths: [
26
- 'password',
27
- 'reqBody.password',
28
- 'user.password',
29
- 'reqBody.user.password',
30
- ],
25
+ paths: ['password', 'reqBody.password', 'user.password', 'reqBody.user.password'],
31
26
  },
32
27
  genReqId: function (req, res) {
33
28
  const reqId = req.id ?? req.headers['x-request-id'];
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;AAcA,8CAuDC;AApED,6CAAyC;AAKzC,gDAAwB;AAExB,mDAAoD;AACpD,qDAAkD;AAKlD,SAAgB,iBAAiB,CAChC,KAAK,GAAG,MAAM,EACd,SAAS,GAAG,QAAQ,EACpB,UAAU,GAAG,SAAS;IAEtB,OAAO;QAIN,KAAK;QACL,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,cAAI,CAAC,gBAAgB,CAAC,OAAO;QACxC,mBAAmB,EAAE;YACpB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,WAAW;SACzB;QACD,UAAU,EAAE,IAAA,iCAAiB,EAAC,SAAS,EAAE,UAAU,CAAC;QACpD,WAAW,EAAE,IAAA,+BAAc,GAAE;QAC7B,MAAM,EAAE;YACP,KAAK,EAAE;gBACN,UAAU;gBACV,kBAAkB;gBAClB,eAAe;gBACf,uBAAuB;aACvB;SACD;QACD,QAAQ,EAAE,UAAU,GAAG,EAAE,GAAG;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEpD,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,EAAE,GAAG,IAAA,wBAAU,GAAE,CAAC;YAExB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAElC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,cAAc,CACb,CAAkB,EAClB,GAAoC,EACpC,GAAW;YAEX,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBACnD,OAAO,MAAM,CAAC;YACf,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;gBACzC,OAAO,OAAO,CAAC;YAChB,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAC1D,OAAO,QAAQ,CAAC;YACjB,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;AAcA,8CA0CC;AAvDD,6CAAyC;AAKzC,gDAAwB;AAExB,mDAAoD;AACpD,qDAAkD;AAKlD,SAAgB,iBAAiB,CAAC,KAAK,GAAG,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,UAAU,GAAG,SAAS;IAC5F,OAAO;QAIL,KAAK;QACL,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,cAAI,CAAC,gBAAgB,CAAC,OAAO;QACxC,mBAAmB,EAAE;YACnB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,YAAY,EAAE,WAAW;SAC1B;QACD,UAAU,EAAE,IAAA,iCAAiB,EAAC,SAAS,EAAE,UAAU,CAAC;QACpD,WAAW,EAAE,IAAA,+BAAc,GAAE;QAC7B,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,uBAAuB,CAAC;SAClF;QACD,QAAQ,EAAE,UAAU,GAAG,EAAE,GAAG;YAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEpD,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxB,MAAM,EAAE,GAAG,IAAA,wBAAU,GAAE,CAAC;YAExB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAElC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,cAAc,CAAC,CAAkB,EAAE,GAAoC,EAAE,GAAW;YAClF,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;gBACxC,OAAO,OAAO,CAAC;YACjB,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;gBACzD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../src/serializers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAWzC,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAyB7D"}
1
+ {"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../src/serializers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAOzC,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAyB7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../src/serializers.ts"],"names":[],"mappings":";;AAYA,wCAyBC;AAzBD,SAAgB,cAAc;IAC7B,OAAO;QACN,GAAG,CAAC,GAAsB;YACzB,MAAM,OAAO,GAAG,GAAG,CAAC,GAEnB,CAAC;YAEF,OAAO;gBACN,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;aAClB,CAAC;QACH,CAAC;QACD,GAAG,CAAC,QAA4B;YAC/B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC;YAEvD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QACD,GAAG,CAAC,GAAoB;YACvB,OAAO,GAAG,CAAC;QACZ,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../src/serializers.ts"],"names":[],"mappings":";;AAQA,wCAyBC;AAzBD,SAAgB,cAAc;IAC5B,OAAO;QACL,GAAG,CAAC,GAAsB;YACxB,MAAM,OAAO,GAAG,GAAG,CAAC,GAEnB,CAAC;YAEF,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,QAA4B;YAC9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC;YAEvD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,GAAG,CAAC,GAAoB;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,GACf,IAAI,CAAC,WAAW,CAQlB;AAMD,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,WAAW,GACtB,IAAI,CAAC,WAAW,CAUlB;AAMD,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,MAAM,GACd,IAAI,CAAC,WAAW,CAWlB;AAMD,wBAAgB,yBAAyB,CACxC,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,IAAI,CAAC,KAAc,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GACvB,IAAI,CAAC,cAAc,CAQrB"}
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAQzF;AAMD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC,WAAW,CAYhH;AAMD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,CAWzG;AAMD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,IAAI,CAAC,KAAc,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,WAAW,GACxB,IAAI,CAAC,cAAc,CAQrB"}
package/dist/streams.js CHANGED
@@ -22,8 +22,10 @@ function createPrettyStreamEntry(_app, level) {
22
22
  }
23
23
  function createLokiStreamEntry(app, level, lokiOptions) {
24
24
  const stream = (0, pino_loki_1.pinoLoki)({
25
- batching: true,
26
- interval: 5,
25
+ batching: {
26
+ interval: Number(process.env.LOG_LOKI_INTERVAL) || 10,
27
+ maxBufferSize: Number(process.env.LOG_LOKI_INTERVAL) || 5000,
28
+ },
27
29
  labels: { app, service: app },
28
30
  replaceTimestamp: true,
29
31
  ...lokiOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":";;;;;AAaA,0DAWC;AAMD,sDAcC;AAMD,sDAeC;AAMD,8DAaC;AAnFD,0DAA6B;AAI7B,gDAAwB;AACxB,yCAAqC;AACrC,8DAAqC;AACrC,+DAAoD;AAKpD,SAAgB,uBAAuB,CACtC,IAAY,EACZ,KAAiB;IAEjB,MAAM,MAAM,GAAG,IAAA,qBAAU,EAAC;QACzB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAMD,SAAgB,qBAAqB,CACpC,GAAW,EACX,KAAiB,EACjB,WAAwB;IAExB,MAAM,MAAM,GAAG,IAAA,oBAAQ,EAAC;QACvB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;QAC7B,gBAAgB,EAAE,IAAI;QACtB,GAAG,WAAW;KACd,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAMD,SAAgB,qBAAqB,CACpC,IAAY,EACZ,KAAiB,EACjB,QAAgB;IAEhB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,mBAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,IAAA,mCAAY,EAAC,IAAI,EAAE;QACjC,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,GAAG;KACT,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAMD,SAAgB,yBAAyB,CACxC,GAAW,EACX,QAAoB,MAAM,EAC1B,QAAiB,EACjB,WAAyB;IAEzB,MAAM,OAAO,GAAuB,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1E,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExE,IAAI,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9E,OAAO,cAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"streams.js","sourceRoot":"","sources":["../src/streams.ts"],"names":[],"mappings":";;;;;AAaA,0DAQC;AAMD,sDAYC;AAMD,sDAWC;AAMD,8DAaC;AA1ED,0DAA6B;AAI7B,gDAAwB;AACxB,yCAAqC;AACrC,8DAAqC;AACrC,+DAAoD;AAKpD,SAAgB,uBAAuB,CAAC,IAAY,EAAE,KAAiB;IACrE,MAAM,MAAM,GAAG,IAAA,qBAAU,EAAC;QACxB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAMD,SAAgB,qBAAqB,CAAC,GAAW,EAAE,KAAiB,EAAE,WAAwB;IAC5F,MAAM,MAAM,GAAG,IAAA,oBAAQ,EAAC;QACtB,QAAQ,EAAE;YACR,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE;YACrD,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI;SAC7D;QACD,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;QAC7B,gBAAgB,EAAE,IAAI;QACtB,GAAG,WAAW;KACf,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAMD,SAAgB,qBAAqB,CAAC,IAAY,EAAE,KAAiB,EAAE,QAAgB;IACrF,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,mBAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,IAAA,mCAAY,EAAC,IAAI,EAAE;QAChC,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAMD,SAAgB,yBAAyB,CACvC,GAAW,EACX,QAAoB,MAAM,EAC1B,QAAiB,EACjB,WAAyB;IAEzB,MAAM,OAAO,GAAuB,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1E,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAExE,IAAI,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAE9E,OAAO,cAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestjs-labs/pino-http-extra",
3
- "version": "1.5.0",
3
+ "version": "1.5.3",
4
4
  "description": "Enhanced pino-http with OpenTelemetry, Loki, file rotation and enterprise features.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "repository": {
31
31
  "type": "git",
32
- "url": "git+https://github.com/nestjs-labs/nestjs-pino-extra.git",
32
+ "url": "https://github.com/nestjs-labs/nestjs-pino-extra",
33
33
  "directory": "packages/pino-http-extra"
34
34
  },
35
35
  "keywords": [
@@ -52,9 +52,9 @@
52
52
  ],
53
53
  "dependencies": {
54
54
  "@opentelemetry/api": "^1.9.0",
55
- "pino": "^9.7.0",
56
- "pino-http": "^10.5.0",
57
- "pino-loki": "^2.6.0",
55
+ "pino": "^10.1.0",
56
+ "pino-http": "^11.0.0",
57
+ "pino-loki": "^3.0.0",
58
58
  "pino-pretty": "^13.0.0",
59
59
  "pino-std-serializers": "^7.0.0",
60
60
  "rotating-file-stream": "^3.2.6"
@@ -66,9 +66,7 @@
66
66
  "@types/node": "^22.10.7",
67
67
  "eslint": "^9.32.0",
68
68
  "prettier": "^3.6.2",
69
- "semantic-release": "^24.2.7",
70
69
  "tslib": "^2.8.0",
71
- "typedoc": "^0.28.7",
72
70
  "typescript": "^5.5.4"
73
71
  },
74
72
  "config": {