@codefresh-io/cf-telemetry 2.0.0-alpha.9 → 2.1.0

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.
Files changed (233) hide show
  1. package/README.md +14 -6
  2. package/dist/global-config.d.ts +5 -0
  3. package/dist/global-config.js +10 -0
  4. package/dist/global-config.js.map +1 -0
  5. package/dist/init.d.mts +1 -0
  6. package/dist/{cjs/index.js → init.js} +24 -18
  7. package/dist/init.js.map +1 -0
  8. package/dist/init.mjs +2 -0
  9. package/dist/init.mjs.map +1 -0
  10. package/dist/logs/config.d.ts +2 -0
  11. package/dist/logs/config.js +35 -0
  12. package/dist/logs/config.js.map +1 -0
  13. package/dist/logs/express/http-logger-middleware.d.ts +10 -0
  14. package/dist/logs/express/http-logger-middleware.js +30 -0
  15. package/dist/logs/express/http-logger-middleware.js.map +1 -0
  16. package/dist/logs/express/index.d.ts +1 -0
  17. package/dist/logs/express/index.js +6 -0
  18. package/dist/logs/express/index.js.map +1 -0
  19. package/dist/logs/express/public.d.mts +1 -0
  20. package/dist/logs/express/public.d.ts +1 -0
  21. package/dist/logs/express/public.js +7 -0
  22. package/dist/logs/express/public.js.map +1 -0
  23. package/dist/logs/express/public.mjs +3 -0
  24. package/dist/logs/express/public.mjs.map +1 -0
  25. package/dist/logs/index.js.map +1 -0
  26. package/dist/{cjs/logs → logs}/logger.js +27 -5
  27. package/dist/logs/logger.js.map +1 -0
  28. package/dist/logs/metadata-storage.js.map +1 -0
  29. package/dist/logs/nest/index.d.ts +2 -0
  30. package/dist/logs/nest/index.js +8 -0
  31. package/dist/logs/nest/index.js.map +1 -0
  32. package/dist/logs/nest/logger-module.d.ts +4 -0
  33. package/dist/logs/nest/logger-module.js +69 -0
  34. package/dist/logs/nest/logger-module.js.map +1 -0
  35. package/dist/logs/nest/logger.d.ts +4 -0
  36. package/dist/logs/nest/logger.js +69 -0
  37. package/dist/logs/nest/logger.js.map +1 -0
  38. package/dist/logs/nest/public.d.mts +1 -0
  39. package/dist/logs/nest/public.d.ts +1 -0
  40. package/dist/logs/nest/public.js +8 -0
  41. package/dist/logs/nest/public.js.map +1 -0
  42. package/dist/logs/nest/public.mjs +3 -0
  43. package/dist/logs/nest/public.mjs.map +1 -0
  44. package/dist/logs/public.d.mts +1 -0
  45. package/dist/{cjs/logs → logs}/public.js +1 -0
  46. package/dist/logs/public.js.map +1 -0
  47. package/dist/logs/public.mjs +3 -0
  48. package/dist/logs/public.mjs.map +1 -0
  49. package/dist/logs/run-in-context.js.map +1 -0
  50. package/dist/{esm/logs → logs}/types.d.ts +9 -1
  51. package/dist/{cjs/logs → logs}/types.js +3 -1
  52. package/dist/logs/types.js.map +1 -0
  53. package/dist/{cjs/metrics → metrics}/mongodb/monitor-mongodb-client.js +2 -1
  54. package/dist/metrics/mongodb/monitor-mongodb-client.js.map +1 -0
  55. package/dist/metrics/mongodb/public.d.mts +1 -0
  56. package/dist/metrics/mongodb/public.d.ts +1 -0
  57. package/dist/{cjs/metrics/mongodb/index.js → metrics/mongodb/public.js} +2 -1
  58. package/dist/metrics/mongodb/public.js.map +1 -0
  59. package/dist/metrics/mongodb/public.mjs +3 -0
  60. package/dist/metrics/mongodb/public.mjs.map +1 -0
  61. package/dist/{cjs/metrics → metrics}/prometheus/client.js +3 -6
  62. package/dist/metrics/prometheus/client.js.map +1 -0
  63. package/dist/metrics/prometheus/config.d.ts +10 -0
  64. package/dist/metrics/prometheus/config.js +29 -0
  65. package/dist/metrics/prometheus/config.js.map +1 -0
  66. package/dist/metrics/prometheus/helpers.d.ts +5 -0
  67. package/dist/metrics/prometheus/helpers.js +16 -0
  68. package/dist/metrics/prometheus/helpers.js.map +1 -0
  69. package/dist/{cjs/metrics/prometheus/public.d.ts → metrics/prometheus/index.d.ts} +1 -0
  70. package/dist/{cjs/metrics → metrics}/prometheus/index.js +2 -2
  71. package/dist/metrics/prometheus/index.js.map +1 -0
  72. package/dist/{cjs/metrics/prometheus/init-prometheus.js → metrics/prometheus/init.js} +12 -2
  73. package/dist/metrics/prometheus/init.js.map +1 -0
  74. package/dist/metrics/prometheus/metrics.d.ts +24 -0
  75. package/dist/metrics/prometheus/metrics.js.map +1 -0
  76. package/dist/metrics/prometheus/public.d.mts +1 -0
  77. package/dist/metrics/prometheus/public.d.ts +5 -0
  78. package/dist/{cjs/metrics → metrics}/prometheus/public.js +12 -3
  79. package/dist/metrics/prometheus/public.js.map +1 -0
  80. package/dist/metrics/prometheus/public.mjs +3 -0
  81. package/dist/metrics/prometheus/public.mjs.map +1 -0
  82. package/dist/otel/config.js.map +1 -0
  83. package/dist/{cjs/otel → otel}/index.d.ts +1 -1
  84. package/dist/{cjs/otel → otel}/index.js +1 -1
  85. package/dist/otel/index.js.map +1 -0
  86. package/dist/otel/public.d.mts +1 -0
  87. package/dist/otel/public.d.ts +1 -0
  88. package/dist/otel/public.js +19 -0
  89. package/dist/otel/public.js.map +1 -0
  90. package/dist/otel/public.mjs +3 -0
  91. package/dist/otel/public.mjs.map +1 -0
  92. package/dist/{cjs/otel → otel}/sdk.js +10 -18
  93. package/dist/otel/sdk.js.map +1 -0
  94. package/dist/{cjs/profiles → profiles}/config.d.ts +2 -1
  95. package/dist/profiles/config.js +24 -0
  96. package/dist/profiles/config.js.map +1 -0
  97. package/dist/{esm/otel → profiles}/index.d.ts +1 -1
  98. package/dist/profiles/index.js +39 -0
  99. package/dist/profiles/index.js.map +1 -0
  100. package/package.json +33 -26
  101. package/dist/cjs/global-config.d.ts +0 -4
  102. package/dist/cjs/global-config.js +0 -8
  103. package/dist/cjs/global-config.js.map +0 -1
  104. package/dist/cjs/index.d.ts +0 -7
  105. package/dist/cjs/index.js.map +0 -1
  106. package/dist/cjs/init.mjs +0 -5
  107. package/dist/cjs/init.mjs.map +0 -1
  108. package/dist/cjs/logs/config.d.ts +0 -8
  109. package/dist/cjs/logs/config.js +0 -16
  110. package/dist/cjs/logs/config.js.map +0 -1
  111. package/dist/cjs/logs/index.js.map +0 -1
  112. package/dist/cjs/logs/logger.js.map +0 -1
  113. package/dist/cjs/logs/metadata-storage.js.map +0 -1
  114. package/dist/cjs/logs/public.js.map +0 -1
  115. package/dist/cjs/logs/run-in-context.js.map +0 -1
  116. package/dist/cjs/logs/types.d.ts +0 -81
  117. package/dist/cjs/logs/types.js.map +0 -1
  118. package/dist/cjs/metrics/mongodb/index.d.ts +0 -1
  119. package/dist/cjs/metrics/mongodb/index.js.map +0 -1
  120. package/dist/cjs/metrics/mongodb/monitor-mongodb-client.js.map +0 -1
  121. package/dist/cjs/metrics/mongodb/public.d.ts +0 -1
  122. package/dist/cjs/metrics/mongodb/public.js +0 -6
  123. package/dist/cjs/metrics/mongodb/public.js.map +0 -1
  124. package/dist/cjs/metrics/prometheus/client.js.map +0 -1
  125. package/dist/cjs/metrics/prometheus/config.d.ts +0 -7
  126. package/dist/cjs/metrics/prometheus/config.js +0 -11
  127. package/dist/cjs/metrics/prometheus/config.js.map +0 -1
  128. package/dist/cjs/metrics/prometheus/index.d.ts +0 -3
  129. package/dist/cjs/metrics/prometheus/index.js.map +0 -1
  130. package/dist/cjs/metrics/prometheus/init-prometheus.js.map +0 -1
  131. package/dist/cjs/metrics/prometheus/metrics.d.ts +0 -22
  132. package/dist/cjs/metrics/prometheus/metrics.js.map +0 -1
  133. package/dist/cjs/metrics/prometheus/public.js.map +0 -1
  134. package/dist/cjs/otel/config.js.map +0 -1
  135. package/dist/cjs/otel/index.js.map +0 -1
  136. package/dist/cjs/otel/public.d.ts +0 -1
  137. package/dist/cjs/otel/public.js +0 -38
  138. package/dist/cjs/otel/public.js.map +0 -1
  139. package/dist/cjs/otel/sdk.js.map +0 -1
  140. package/dist/cjs/profiles/config.js +0 -18
  141. package/dist/cjs/profiles/config.js.map +0 -1
  142. package/dist/cjs/profiles/index.d.ts +0 -2
  143. package/dist/cjs/profiles/index.js +0 -22
  144. package/dist/cjs/profiles/index.js.map +0 -1
  145. package/dist/esm/global-config.d.ts +0 -4
  146. package/dist/esm/global-config.js +0 -5
  147. package/dist/esm/global-config.js.map +0 -1
  148. package/dist/esm/index.d.ts +0 -7
  149. package/dist/esm/index.js +0 -38
  150. package/dist/esm/index.js.map +0 -1
  151. package/dist/esm/init.d.mts +0 -1
  152. package/dist/esm/init.mjs +0 -5
  153. package/dist/esm/init.mjs.map +0 -1
  154. package/dist/esm/logs/config.d.ts +0 -8
  155. package/dist/esm/logs/config.js +0 -13
  156. package/dist/esm/logs/config.js.map +0 -1
  157. package/dist/esm/logs/index.d.ts +0 -2
  158. package/dist/esm/logs/index.js +0 -3
  159. package/dist/esm/logs/index.js.map +0 -1
  160. package/dist/esm/logs/logger.d.ts +0 -61
  161. package/dist/esm/logs/logger.js +0 -90
  162. package/dist/esm/logs/logger.js.map +0 -1
  163. package/dist/esm/logs/metadata-storage.d.ts +0 -3
  164. package/dist/esm/logs/metadata-storage.js +0 -3
  165. package/dist/esm/logs/metadata-storage.js.map +0 -1
  166. package/dist/esm/logs/public.d.ts +0 -1
  167. package/dist/esm/logs/public.js +0 -2
  168. package/dist/esm/logs/public.js.map +0 -1
  169. package/dist/esm/logs/run-in-context.d.ts +0 -9
  170. package/dist/esm/logs/run-in-context.js +0 -17
  171. package/dist/esm/logs/run-in-context.js.map +0 -1
  172. package/dist/esm/logs/types.js +0 -6
  173. package/dist/esm/logs/types.js.map +0 -1
  174. package/dist/esm/metrics/mongodb/index.d.ts +0 -1
  175. package/dist/esm/metrics/mongodb/index.js +0 -2
  176. package/dist/esm/metrics/mongodb/index.js.map +0 -1
  177. package/dist/esm/metrics/mongodb/monitor-mongodb-client.d.ts +0 -13
  178. package/dist/esm/metrics/mongodb/monitor-mongodb-client.js +0 -47
  179. package/dist/esm/metrics/mongodb/monitor-mongodb-client.js.map +0 -1
  180. package/dist/esm/metrics/mongodb/public.d.ts +0 -1
  181. package/dist/esm/metrics/mongodb/public.js +0 -2
  182. package/dist/esm/metrics/mongodb/public.js.map +0 -1
  183. package/dist/esm/metrics/prometheus/client.d.ts +0 -3
  184. package/dist/esm/metrics/prometheus/client.js +0 -11
  185. package/dist/esm/metrics/prometheus/client.js.map +0 -1
  186. package/dist/esm/metrics/prometheus/config.d.ts +0 -7
  187. package/dist/esm/metrics/prometheus/config.js +0 -8
  188. package/dist/esm/metrics/prometheus/config.js.map +0 -1
  189. package/dist/esm/metrics/prometheus/index.d.ts +0 -3
  190. package/dist/esm/metrics/prometheus/index.js +0 -4
  191. package/dist/esm/metrics/prometheus/index.js.map +0 -1
  192. package/dist/esm/metrics/prometheus/init-prometheus.d.ts +0 -2
  193. package/dist/esm/metrics/prometheus/init-prometheus.js +0 -32
  194. package/dist/esm/metrics/prometheus/init-prometheus.js.map +0 -1
  195. package/dist/esm/metrics/prometheus/metrics.d.ts +0 -22
  196. package/dist/esm/metrics/prometheus/metrics.js +0 -22
  197. package/dist/esm/metrics/prometheus/metrics.js.map +0 -1
  198. package/dist/esm/metrics/prometheus/public.d.ts +0 -2
  199. package/dist/esm/metrics/prometheus/public.js +0 -3
  200. package/dist/esm/metrics/prometheus/public.js.map +0 -1
  201. package/dist/esm/otel/config.d.ts +0 -3
  202. package/dist/esm/otel/config.js +0 -4
  203. package/dist/esm/otel/config.js.map +0 -1
  204. package/dist/esm/otel/index.js +0 -30
  205. package/dist/esm/otel/index.js.map +0 -1
  206. package/dist/esm/otel/public.d.ts +0 -1
  207. package/dist/esm/otel/public.js +0 -2
  208. package/dist/esm/otel/public.js.map +0 -1
  209. package/dist/esm/otel/sdk.d.ts +0 -2
  210. package/dist/esm/otel/sdk.js +0 -38
  211. package/dist/esm/otel/sdk.js.map +0 -1
  212. package/dist/esm/profiles/config.d.ts +0 -6
  213. package/dist/esm/profiles/config.js +0 -15
  214. package/dist/esm/profiles/config.js.map +0 -1
  215. package/dist/esm/profiles/index.d.ts +0 -2
  216. package/dist/esm/profiles/index.js +0 -15
  217. package/dist/esm/profiles/index.js.map +0 -1
  218. /package/dist/{cjs/init.d.mts → init.d.ts} +0 -0
  219. /package/dist/{cjs/logs → logs}/index.d.ts +0 -0
  220. /package/dist/{cjs/logs → logs}/index.js +0 -0
  221. /package/dist/{cjs/logs → logs}/logger.d.ts +0 -0
  222. /package/dist/{cjs/logs → logs}/metadata-storage.d.ts +0 -0
  223. /package/dist/{cjs/logs → logs}/metadata-storage.js +0 -0
  224. /package/dist/{cjs/logs → logs}/public.d.ts +0 -0
  225. /package/dist/{cjs/logs → logs}/run-in-context.d.ts +0 -0
  226. /package/dist/{cjs/logs → logs}/run-in-context.js +0 -0
  227. /package/dist/{cjs/metrics → metrics}/mongodb/monitor-mongodb-client.d.ts +0 -0
  228. /package/dist/{cjs/metrics → metrics}/prometheus/client.d.ts +0 -0
  229. /package/dist/{cjs/metrics/prometheus/init-prometheus.d.ts → metrics/prometheus/init.d.ts} +0 -0
  230. /package/dist/{cjs/metrics → metrics}/prometheus/metrics.js +0 -0
  231. /package/dist/{cjs/otel → otel}/config.d.ts +0 -0
  232. /package/dist/{cjs/otel → otel}/config.js +0 -0
  233. /package/dist/{cjs/otel → otel}/sdk.d.ts +0 -0
package/README.md CHANGED
@@ -4,20 +4,28 @@ Base utils for monitoring.
4
4
 
5
5
  Includes:
6
6
 
7
- * [Logger](./src/logger/README.md).
7
+ * [Logs](./src/logs/README.md).
8
+ * [MongoDB](./src/metrics/mongodb/README.md) client monitoring.
9
+ * [OpenTelemetry](./src/otel/README.md) auto instrumentation.
8
10
  * [Prometheus](./src/metrics/prometheus/README.md) server and custom metrics.
9
- * [MongoDB](./src//metrics/mongodb/README.md) client monitoring.
10
11
  * [Pyroscope](./src/profiles/README.md) to profile CPU and memory.
11
12
 
12
13
  ## Usage
13
14
 
14
- Call `init()` function at the very bootstrap of the app.
15
+ Add `import '@codefresh-io/cf-telemetry/init'` statement at the very beginning of the application lifecycle.
15
16
 
16
17
  Please refer to the separate docs above for further configuration and usage details.
17
18
 
18
19
  ```TS
19
20
  // index.ts
20
- import { init } from '@codefresh-io/cf-telemetry';
21
-
22
- await init();
21
+ // Should be imported first
22
+ import '@codefresh-io/cf-telemetry/init'
23
+ // ↓ Keep one blank line below to prevent automatic import reordering
23
24
  ```
25
+
26
+ ## Environment variables
27
+
28
+ | Variable | Required | Default value | Description |
29
+ |------------------------| -------- |-------------------------------------------------------------------|---------------------------------------------|
30
+ | `CF_SERVICE_NAME` | optional | `unknown_service:node` | Sets service name for OpenTelemetry, Pyroscope and Prometheus. |
31
+ | `CF_SERVICE_VERSION` | optional | `unknown` | Sets service name for OpenTelemetry, Pyroscope and Prometheus. |
@@ -0,0 +1,5 @@
1
+ export declare const globalConfig: {
2
+ readonly serviceName: string;
3
+ readonly serviceVersion: string;
4
+ readonly libLogScope: "cf-telemetry";
5
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalConfig = void 0;
4
+ /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
5
+ exports.globalConfig = {
6
+ serviceName: process.env['CF_SERVICE_NAME'] || 'unknown_service:node',
7
+ serviceVersion: process.env['CF_SERVICE_VERSION'] || 'unknown',
8
+ libLogScope: 'cf-telemetry',
9
+ };
10
+ //# sourceMappingURL=global-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-config.js","sourceRoot":"","sources":["../src/global-config.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACpD,QAAA,YAAY,GAAG;IAC1B,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,sBAAsB;IACrE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,SAAS;IAC9D,WAAW,EAAE,cAAc;CACnB,CAAC"}
@@ -0,0 +1 @@
1
+ import './init.js';
@@ -33,38 +33,41 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.terminate = exports.init = void 0;
37
36
  // ↓ Should be imported first
38
37
  const otel = __importStar(require("./otel"));
39
38
  // ↑ Should be imported first
39
+ const global_config_1 = require("./global-config");
40
40
  const logs = __importStar(require("./logs"));
41
41
  const prometheus = __importStar(require("./metrics/prometheus"));
42
42
  const profiles = __importStar(require("./profiles"));
43
43
  let isInitialized = false;
44
44
  /**
45
- * Initializes telemetry services. Should be called once as early as possible in the application lifecycle.
46
- * Preferred method of initialization is to add `--import=@codefresh-io/cf-telemetry/init` Node.js flag,
47
- * instead of calling this function directly.
45
+ * Initializes telemetry services.
46
+ * Should be called once as early as possible in the application lifecycle.
48
47
  */
49
- const init = async () => {
48
+ const init = () => {
50
49
  if (isInitialized)
51
50
  return;
52
- const logger = new logs.Logger('telemetry');
53
- logger.info('Initializing telemetry services');
54
- await otel.init(logger).catch(logger.error);
55
- await Promise.all([
56
- prometheus.init(logger).catch(logger.error),
57
- profiles.init(logger).catch(logger.error),
58
- ]);
59
- isInitialized = true;
60
- logger.info('Telemetry services initialized');
51
+ try {
52
+ const logger = new logs.Logger(global_config_1.globalConfig.libLogScope);
53
+ logger.info('Initializing telemetry services');
54
+ logger.debug('Telemetry configuration', global_config_1.globalConfig);
55
+ otel.init(logger);
56
+ profiles.init(logger);
57
+ prometheus.init(logger).catch(logger.error);
58
+ isInitialized = true;
59
+ logger.info('Telemetry services initialized');
60
+ }
61
+ catch (error) {
62
+ console.error('Failed to initialize telemetry services', error);
63
+ }
61
64
  };
62
- exports.init = init;
63
65
  const terminate = async () => {
64
- const logger = new logs.Logger('telemetry');
66
+ const logger = new logs.Logger(global_config_1.globalConfig.libLogScope);
65
67
  try {
66
68
  logger.info('Terminating telemetry services');
67
69
  await otel.terminate(logger).catch(logger.error);
70
+ await profiles.terminate(logger).catch(logger.error);
68
71
  isInitialized = false;
69
72
  logger.info('Telemetry services terminated');
70
73
  }
@@ -72,5 +75,8 @@ const terminate = async () => {
72
75
  logger.error('Failed to terminate telemetry services', exception);
73
76
  }
74
77
  };
75
- exports.terminate = terminate;
76
- //# sourceMappingURL=index.js.map
78
+ init();
79
+ process.on('SIGINT', terminate);
80
+ process.on('SIGTERM', terminate);
81
+ process.once('beforeExit', terminate);
82
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAA6B;AAC7B,6CAA+B;AAC/B,6BAA6B;AAE7B,mDAA+C;AAC/C,6CAA+B;AAC/B,iEAAmD;AACnD,qDAAuC;AAEvC,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B;;;GAGG;AACH,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,IAAI,aAAa;QAAE,OAAO;IAE1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,4BAAY,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,4BAAY,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,4BAAY,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,aAAa,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC;AAEP,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAChC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACjC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC"}
package/dist/init.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import './init.js';
2
+ //# sourceMappingURL=init.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.mjs","sourceRoot":"","sources":["../src/init.mts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { LogsConfig } from './types';
2
+ export declare const config: LogsConfig;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ const types_1 = require("./types");
5
+ const getLevel = () => {
6
+ const detectedLevel = process.env['CF_TELEMETRY_LOGS_LEVEL'] ?? 'info';
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ const isKnownLevel = types_1.Level.includes(detectedLevel);
9
+ if (!isKnownLevel) {
10
+ console.warn(`Unknown value for 'CF_TELEMETRY_LOGS_LEVEL': "${detectedLevel}". Defaulting to 'info'. Allowed values: ${types_1.Level.join('|')}.`);
11
+ return 'info';
12
+ }
13
+ ;
14
+ return detectedLevel;
15
+ };
16
+ const getPrettify = () => {
17
+ const prettify = process.env['CF_TELEMETRY_LOGS_PRETTIFY'];
18
+ switch (prettify) {
19
+ case 'single-line':
20
+ case 'multi-line':
21
+ return prettify;
22
+ case 'false':
23
+ return false;
24
+ default:
25
+ console.warn(`Unknown value for 'CF_TELEMETRY_LOGS_PRETTIFY': "${prettify}". Defaulting to false. Allowed values: ${types_1.Prettify.join('|')}.`);
26
+ return false;
27
+ }
28
+ };
29
+ exports.config = {
30
+ level: getLevel(),
31
+ prettify: getPrettify(),
32
+ sync: process.env['CF_TELEMETRY_LOGS_SYNC'] === 'true',
33
+ defaultInitiator: { type: 'system' },
34
+ };
35
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/logs/config.ts"],"names":[],"mappings":";;;AAAA,mCAAsD;AAEtD,MAAM,QAAQ,GAAG,GAAU,EAAE;IAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,MAAM,CAAC;IACvE,8DAA8D;IAC9D,MAAM,YAAY,GAAG,aAAK,CAAC,QAAQ,CAAC,aAAoB,CAAC,CAAC;IAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,iDAAiD,aAAa,4CAA4C,aAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3I,OAAO,MAAM,CAAC;IAChB,CAAC;IAAA,CAAC;IACF,OAAO,aAAsB,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAa,EAAE;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf;YACE,OAAO,CAAC,IAAI,CAAC,oDAAoD,QAAQ,2CAA2C,gBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3I,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,QAAQ,EAAE;IACjB,QAAQ,EAAE,WAAW,EAAE;IACvB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,KAAK,MAAM;IACtD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { RequestHandler } from 'express';
2
+ import type { Level, Logger } from '../types';
3
+ /**
4
+ * Factory function to create an HTTP logger middleware for Express.
5
+ * This middleware logs incoming HTTP requests and their completion status.
6
+ * @param logger Logger instance.
7
+ * @param level Log level for HTTP requests logging. Default is "info".
8
+ * @returns Express middleware function.
9
+ */
10
+ export declare const httpLoggerMiddlewareFactory: (logger: Logger, level?: Level) => RequestHandler;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.httpLoggerMiddlewareFactory = void 0;
4
+ /**
5
+ * Factory function to create an HTTP logger middleware for Express.
6
+ * This middleware logs incoming HTTP requests and their completion status.
7
+ * @param logger Logger instance.
8
+ * @param level Log level for HTTP requests logging. Default is "info".
9
+ * @returns Express middleware function.
10
+ */
11
+ const httpLoggerMiddlewareFactory = (logger, level = 'info') => {
12
+ return function httpLoggerMiddleware({ method, path, ip }, response, next) {
13
+ logger[level]('Incoming HTTP request', {
14
+ method,
15
+ path,
16
+ ip,
17
+ });
18
+ response.on('close', () => {
19
+ logger[level]('HTTP request completed', {
20
+ method,
21
+ path,
22
+ ip,
23
+ status: response.statusCode,
24
+ });
25
+ });
26
+ next();
27
+ };
28
+ };
29
+ exports.httpLoggerMiddlewareFactory = httpLoggerMiddlewareFactory;
30
+ //# sourceMappingURL=http-logger-middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-logger-middleware.js","sourceRoot":"","sources":["../../../src/logs/express/http-logger-middleware.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACI,MAAM,2BAA2B,GAAG,CAAC,MAAc,EAAE,QAAe,MAAM,EAAkB,EAAE;IACnG,OAAO,SAAS,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI;QACvE,MAAM,CAAC,KAAK,CAAC,CAAC,uBAAuB,EAAE;YACrC,MAAM;YACN,IAAI;YACJ,EAAE;SACH,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE;gBACtC,MAAM;gBACN,IAAI;gBACJ,EAAE;gBACF,MAAM,EAAE,QAAQ,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,2BAA2B,+BAiBtC"}
@@ -0,0 +1 @@
1
+ export { httpLoggerMiddlewareFactory } from './http-logger-middleware';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.httpLoggerMiddlewareFactory = void 0;
4
+ var http_logger_middleware_1 = require("./http-logger-middleware");
5
+ Object.defineProperty(exports, "httpLoggerMiddlewareFactory", { enumerable: true, get: function () { return http_logger_middleware_1.httpLoggerMiddlewareFactory; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logs/express/index.ts"],"names":[],"mappings":";;;AAAA,mEAAuE;AAA9D,qIAAA,2BAA2B,OAAA"}
@@ -0,0 +1 @@
1
+ export * from './public.js';
@@ -0,0 +1 @@
1
+ export { httpLoggerMiddlewareFactory, } from './index';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // Public API (CommonJS)
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.httpLoggerMiddlewareFactory = void 0;
5
+ var index_1 = require("./index");
6
+ Object.defineProperty(exports, "httpLoggerMiddlewareFactory", { enumerable: true, get: function () { return index_1.httpLoggerMiddlewareFactory; } });
7
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/logs/express/public.ts"],"names":[],"mappings":";AAAA,wBAAwB;;;AAExB,iCAEiB;AADf,oHAAA,2BAA2B,OAAA"}
@@ -0,0 +1,3 @@
1
+ // Public API (ESM)
2
+ export * from './public.js';
3
+ //# sourceMappingURL=public.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.mjs","sourceRoot":"","sources":["../../../src/logs/express/public.mts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mDAAgD;AAAvC,8GAAA,YAAY,OAAA"}
@@ -15,16 +15,21 @@ class Logger {
15
15
  this.#options = typeof options === 'string' ? { scope: options } : options;
16
16
  this.#baseLogger = (0, pino_1.default)({
17
17
  level: config_1.config.level,
18
- base: null,
18
+ /**
19
+ * Set to `undefined` to disable default pino metadata.
20
+ * Docs: https://github.com/pinojs/pino/blob/main/docs/api.md#base-object
21
+ */
22
+ base: undefined,
19
23
  formatters: {
20
24
  level: label => ({ level: label }),
21
25
  },
22
- ...config_1.config.shouldPrettify && {
26
+ ...config_1.config.prettify && {
27
+ name: this.#options.scope,
23
28
  transport: {
24
29
  target: 'pino-pretty',
25
30
  options: {
26
31
  colorize: true,
27
- translateTime: 'UTC:yyyy-mm-dd HH:MM:ss.l o',
32
+ singleLine: config_1.config.prettify === 'single-line',
28
33
  },
29
34
  },
30
35
  },
@@ -64,8 +69,25 @@ class Logger {
64
69
  }
65
70
  else {
66
71
  body.msg = msgOrErr;
67
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
- body[data && data instanceof Error ? 'err' : 'data'] = data;
72
+ if (data && data instanceof Error) {
73
+ body.err = data;
74
+ }
75
+ else if (data && typeof data === 'object') {
76
+ body.data = { ...data }; // shallow clone to avoid mutation while deleting props
77
+ // @ts-expect-error: TS is unable to narrow type, while we know that `data` is an object
78
+ if ('err' in body.data) {
79
+ body.err = body.data.err;
80
+ delete body.data.err;
81
+ // @ts-expect-error: TS is unable to narrow type, while we know that `data` is an object
82
+ }
83
+ else if ('error' in body.data) {
84
+ body.err = body.data.error;
85
+ delete body.data.error;
86
+ }
87
+ }
88
+ else {
89
+ body.data = data;
90
+ }
69
91
  }
70
92
  return this.#baseLogger[level](body);
71
93
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logs/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-storage.js","sourceRoot":"","sources":["../../src/logs/metadata-storage.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAGxC,QAAA,eAAe,GAAG,IAAI,oCAAiB,EAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Logger, } from './logger';
2
+ export { LoggerModule, } from './logger-module';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerModule = exports.Logger = void 0;
4
+ var logger_1 = require("./logger");
5
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
6
+ var logger_module_1 = require("./logger-module");
7
+ Object.defineProperty(exports, "LoggerModule", { enumerable: true, get: function () { return logger_module_1.LoggerModule; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logs/nest/index.ts"],"names":[],"mappings":";;;AAAA,mCAEkB;AADhB,gGAAA,MAAM,OAAA;AAER,iDAEyB;AADvB,6GAAA,YAAY,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { MiddlewareConsumer, NestModule } from '@nestjs/common';
2
+ export declare class LoggerModule implements NestModule {
3
+ configure(consumer: MiddlewareConsumer): void;
4
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.LoggerModule = void 0;
38
+ const common_1 = require("@nestjs/common");
39
+ const express_1 = require("../express");
40
+ const logger_1 = require("./logger");
41
+ // TODO: add options to configure the logger
42
+ let LoggerModule = (() => {
43
+ let _classDecorators = [(0, common_1.Global)(), (0, common_1.Module)({
44
+ providers: [logger_1.Logger],
45
+ exports: [logger_1.Logger],
46
+ })];
47
+ let _classDescriptor;
48
+ let _classExtraInitializers = [];
49
+ let _classThis;
50
+ var LoggerModule = class {
51
+ static { _classThis = this; }
52
+ static {
53
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
54
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
55
+ LoggerModule = _classThis = _classDescriptor.value;
56
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
57
+ __runInitializers(_classThis, _classExtraInitializers);
58
+ }
59
+ configure(consumer) {
60
+ const middleware = (0, express_1.httpLoggerMiddlewareFactory)(new logger_1.Logger('http'), 'info');
61
+ consumer
62
+ .apply(middleware)
63
+ .forRoutes({ path: '*', method: common_1.RequestMethod.ALL });
64
+ }
65
+ };
66
+ return LoggerModule = _classThis;
67
+ })();
68
+ exports.LoggerModule = LoggerModule;
69
+ //# sourceMappingURL=logger-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-module.js","sourceRoot":"","sources":["../../../src/logs/nest/logger-module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+F;AAC/F,wCAAyD;AACzD,qCAAkC;AAElC,4CAA4C;IAW/B,YAAY;4BATxB,IAAA,eAAM,GAAE,EACR,IAAA,eAAM,EAAC;YACN,SAAS,EAAE,CAAC,eAAM,CAAC;YACnB,OAAO,EAAE,CAAC,eAAM,CAAC;SAClB,CAAC;;;;;;;;YAKF,6KAOC;;;YAPY,uDAAY;;QACvB,SAAS,CAAC,QAA4B;YACpC,MAAM,UAAU,GAAG,IAAA,qCAA2B,EAAC,IAAI,eAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,QAAQ;iBACL,KAAK,CAAC,UAAU,CAAC;iBACjB,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,sBAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;;;;AANU,oCAAY"}
@@ -0,0 +1,4 @@
1
+ import { Logger as BaseLogger } from '../logger';
2
+ export declare class Logger extends BaseLogger {
3
+ constructor(...params: ConstructorParameters<typeof BaseLogger>);
4
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.Logger = void 0;
38
+ const common_1 = require("@nestjs/common");
39
+ const logger_1 = require("../logger");
40
+ let Logger = (() => {
41
+ let _classDecorators = [(0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT })];
42
+ let _classDescriptor;
43
+ let _classExtraInitializers = [];
44
+ let _classThis;
45
+ let _classSuper = logger_1.Logger;
46
+ var Logger = class extends _classSuper {
47
+ static { _classThis = this; }
48
+ static {
49
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
50
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
51
+ Logger = _classThis = _classDescriptor.value;
52
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
53
+ __runInitializers(_classThis, _classExtraInitializers);
54
+ }
55
+ constructor(...params) {
56
+ let options = params?.at(0);
57
+ if (typeof options === 'string') {
58
+ options = { scope: options, useLastArgAsScope: true };
59
+ }
60
+ else {
61
+ options = { ...options, useLastArgAsScope: true };
62
+ }
63
+ super(options);
64
+ }
65
+ };
66
+ return Logger = _classThis;
67
+ })();
68
+ exports.Logger = Logger;
69
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logs/nest/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAmD;AACnD,sCAAiD;IAGpC,MAAM;4BADlB,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,SAAS,EAAE,CAAC;;;;sBACX,eAAU;sBAAlB,SAAQ,WAAU;;;;YAAtC,6KAUC;;;YAVY,uDAAM;;QACjB,YAAY,GAAG,MAAgD;YAC7D,IAAI,OAAO,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACpD,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,CAAC;QACjB,CAAC;;;;AATU,wBAAM"}
@@ -0,0 +1 @@
1
+ export * from './public.js';
@@ -0,0 +1 @@
1
+ export { Logger, LoggerModule, } from './index';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // Public API (CommonJS)
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LoggerModule = exports.Logger = void 0;
5
+ var index_1 = require("./index");
6
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return index_1.Logger; } });
7
+ Object.defineProperty(exports, "LoggerModule", { enumerable: true, get: function () { return index_1.LoggerModule; } });
8
+ //# sourceMappingURL=public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/logs/nest/public.ts"],"names":[],"mappings":";AAAA,wBAAwB;;;AAExB,iCAGiB;AAFf,+FAAA,MAAM,OAAA;AACN,qGAAA,YAAY,OAAA"}
@@ -0,0 +1,3 @@
1
+ // Public API (ESM)
2
+ export * from './public.js';
3
+ //# sourceMappingURL=public.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.mjs","sourceRoot":"","sources":["../../../src/logs/nest/public.mts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './public.js';
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ // Public API (CommonJS)
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.runInContext = exports.Logger = void 0;
4
5
  var index_1 = require("./index");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/logs/public.ts"],"names":[],"mappings":";AAAA,wBAAwB;;;AAExB,iCAGiB;AAFf,+FAAA,MAAM,OAAA;AACN,qGAAA,YAAY,OAAA"}
@@ -0,0 +1,3 @@
1
+ // Public API (ESM)
2
+ export * from './public.js';
3
+ //# sourceMappingURL=public.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.mjs","sourceRoot":"","sources":["../../src/logs/public.mts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-in-context.js","sourceRoot":"","sources":["../../src/logs/run-in-context.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AAGrD;;;;;;GAMG;AACI,MAAM,YAAY,GAAG,CAC1B,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAe,EAC3C,QAA+B,EAC/B,GAAG,IAAW,EACX,EAAE;IACL,OAAO,kCAAe,CAAC,GAAG,CACxB;QACE,GAAG,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,kEAAkE;QACjG,GAAG,kCAAe,CAAC,QAAQ,EAAE;QAC7B,GAAG,MAAM,IAAI,EAAE,MAAM,EAAE;QACvB,GAAG,OAAO,IAAI,EAAE,OAAO,EAAE;KAC1B,EACD,QAAQ,EACR,GAAG,IAAI,CACR,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB"}
@@ -1,6 +1,14 @@
1
1
  import type { LoggerService } from '@nestjs/common';
2
2
  export declare const Level: readonly ["debug", "info", "warn", "error"];
3
3
  export type Level = (typeof Level[number]);
4
+ export declare const Prettify: readonly ["single-line", "multi-line", false];
5
+ export type Prettify = (typeof Prettify[number]);
6
+ export interface LogsConfig {
7
+ level: Level;
8
+ prettify: Prettify;
9
+ sync: boolean;
10
+ defaultInitiator: LogMetadata['initiator'];
11
+ }
4
12
  /**
5
13
  * Scope name to be used for all log lines.
6
14
  */
@@ -75,7 +83,7 @@ export interface LogMetadata {
75
83
  export interface LogBody {
76
84
  msg?: LogMessage;
77
85
  data?: LogData;
78
- err?: Error;
86
+ err?: unknown;
79
87
  cf: LogMetadata;
80
88
  scope_name?: Scope;
81
89
  }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Level = void 0;
3
+ exports.Prettify = exports.Level = void 0;
4
4
  exports.Level = ['debug', 'info', 'warn', 'error'];
5
+ exports.Prettify = ['single-line', 'multi-line', false];
6
+ ;
5
7
  ;
6
8
  ;
7
9
  ;