@rsdk/logging 4.0.1-next.2 → 4.0.2-next.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.0.2-next.0](https://github.com/R-Vision/rsdk/compare/v4.0.1...v4.0.2-next.0) (2023-12-10)
7
+
8
+ ### Bug Fixes
9
+
10
+ * **tracing:** pfm-601 update deps and add full disable auto instumentation ([f744a4d](https://github.com/R-Vision/rsdk/commit/f744a4de5a679b0fa6673e6fd881931dbd6d074f))
11
+
12
+ ## [4.0.1](https://github.com/R-Vision/rsdk/compare/v4.0.1-next.2...v4.0.1) (2023-12-07)
13
+
14
+ **Note:** Version bump only for package @rsdk/logging
15
+
6
16
  ## [4.0.1-next.2](https://github.com/R-Vision/rsdk/compare/v4.0.1-next.1...v4.0.1-next.2) (2023-12-07)
7
17
 
8
18
  ### Bug Fixes
@@ -36,7 +36,7 @@ export declare class LoggerFactory {
36
36
  * TRACING_ENABLED. Т. е. нас сначала нужно полностью инициализировать систему
37
37
  * конфигурации, а уже потом решать - делать инструментирование или нет.
38
38
  */
39
- static applyInstrumentations(): void;
39
+ static applyInstrumentations<T extends Record<string, any>>(logHookFunction?: (record: T) => void): void;
40
40
  private static opts;
41
41
  static onMessage(handler: OnMessage): void;
42
42
  static create(context: LoggingContext): ILogger;
@@ -51,10 +51,35 @@ class LoggerFactory {
51
51
  * TRACING_ENABLED. Т. е. нас сначала нужно полностью инициализировать систему
52
52
  * конфигурации, а уже потом решать - делать инструментирование или нет.
53
53
  */
54
- static applyInstrumentations() {
54
+ static applyInstrumentations(logHookFunction) {
55
55
  const { stream, ...other } = this.opts;
56
56
  // eslint-disable-next-line @typescript-eslint/no-var-requires
57
- this._globalPino = require('pino')(other, stream);
57
+ this._globalPino = require('pino')({
58
+ ...other,
59
+ /**
60
+ * Функция которая позволяет добавить дополнительные данные в логи Pino
61
+ */
62
+ hooks: logHookFunction
63
+ ? {
64
+ /**
65
+ * Реализация взята с официальной документации
66
+ * https://getpino.io/#/docs/api?id=logmethod
67
+ */
68
+ logMethod: function (inputArgs,
69
+ // eslint-disable-next-line @typescript-eslint/ban-types
70
+ method) {
71
+ if (inputArgs.length >= 2) {
72
+ const arg1 = inputArgs.shift() || {};
73
+ const arg2 = inputArgs.shift();
74
+ logHookFunction(arg1);
75
+ // eslint-disable-next-line unicorn/prefer-reflect-apply
76
+ return method.apply(this, [arg1, arg2, ...inputArgs]);
77
+ }
78
+ return method.apply(this, inputArgs);
79
+ },
80
+ }
81
+ : {},
82
+ }, stream);
58
83
  }
59
84
  static opts = {
60
85
  level: defaults_1.DEFAULT_LEVEL,
@@ -1 +1 @@
1
- {"version":3,"file":"logger.factory.js","sourceRoot":"","sources":["../src/logger.factory.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAuC;AAEvC,gDAAwB;AAExB,yCAA2C;AAC3C,uDAA+C;AAS/C;;;GAGG;AACH,MAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAA4B;QAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvC,IAAI,CAAC,WAAW,GAAG,IAAA,cAAI,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,WAAW,GAAS,IAAA,cAAI,EAAC;QACtC,KAAK,EAAE,wBAAa;KACrB,CAAC,CAAC;IAEH,uDAAuD;IAC/C,MAAM,CAAC,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,qBAAqB;QAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvC,8DAA8D;QAC9D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAEO,MAAM,CAAC,IAAI,GAAkB;QACnC,KAAK,EAAE,wBAAa;QACpB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,cAAI,CAAC,WAAW,EAAE;KAC3B,CAAC;IAEF,MAAM,CAAC,SAAS,CAAC,OAAkB;QACjC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAuB;QACnC,OAAO,IAAI,4BAAU,CACnB,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EACtB,CAAC,KAAe,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EACxE,OAAO,CACR,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAA4B;QACtD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAI,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,wBAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;;AAzEH,sCA0EC"}
1
+ {"version":3,"file":"logger.factory.js","sourceRoot":"","sources":["../src/logger.factory.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAuC;AAEvC,gDAAwB;AAExB,yCAA2C;AAC3C,uDAA+C;AAS/C;;;GAGG;AACH,MAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,IAA4B;QAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAExB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvC,IAAI,CAAC,WAAW,GAAG,IAAA,cAAI,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,WAAW,GAAS,IAAA,cAAI,EAAC;QACtC,KAAK,EAAE,wBAAa;KACrB,CAAC,CAAC;IAEH,uDAAuD;IAC/C,MAAM,CAAC,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;IAE3C;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,qBAAqB,CAC1B,eAAqC;QAErC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvC,8DAA8D;QAC9D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAChC;YACE,GAAG,KAAK;YACR;;eAEG;YACH,KAAK,EAAE,eAAe;gBACpB,CAAC,CAAC;oBACE;;;uBAGG;oBACH,SAAS,EAAE,UACT,SAAgB;oBAChB,wDAAwD;oBACxD,MAAgB;wBAEhB,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BAC1B,MAAM,IAAI,GAAM,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;4BACxC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;4BAE/B,eAAe,CAAC,IAAI,CAAC,CAAC;4BAEtB,wDAAwD;4BACxD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;wBACxD,CAAC;wBACD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACvC,CAAC;iBACF;gBACH,CAAC,CAAC,EAAE;SACP,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,IAAI,GAAkB;QACnC,KAAK,EAAE,wBAAa;QACpB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,cAAI,CAAC,WAAW,EAAE;KAC3B,CAAC;IAEF,MAAM,CAAC,SAAS,CAAC,OAAkB;QACjC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,OAAuB;QACnC,OAAO,IAAI,4BAAU,CACnB,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EACtB,CAAC,KAAe,EAAE,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EACxE,OAAO,CACR,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAA4B;QACtD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAI,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,wBAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;;AA3GH,sCA4GC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/logging",
3
- "version": "4.0.1-next.2",
3
+ "version": "4.0.2-next.0",
4
4
  "description": "Base framework independent logging functionality",
5
5
  "license": "Apache License 2.0",
6
6
  "publishConfig": {
@@ -18,7 +18,7 @@
18
18
  "rxjs": "^7.8.1"
19
19
  },
20
20
  "peerDependencies": {
21
- "@rsdk/common": "^4.0.1-next.2"
21
+ "@rsdk/common": "^4.0.2-next.0"
22
22
  },
23
- "gitHead": "f48f893ffc6bccdfd5a0b703cc377a3a770581ff"
23
+ "gitHead": "80d1a999918a73230ca16c79c4ab00c21857803b"
24
24
  }
@@ -60,11 +60,45 @@ export class LoggerFactory {
60
60
  * TRACING_ENABLED. Т. е. нас сначала нужно полностью инициализировать систему
61
61
  * конфигурации, а уже потом решать - делать инструментирование или нет.
62
62
  */
63
- static applyInstrumentations(): void {
63
+ static applyInstrumentations<T extends Record<string, any>>(
64
+ logHookFunction?: (record: T) => void,
65
+ ): void {
64
66
  const { stream, ...other } = this.opts;
65
67
 
66
68
  // eslint-disable-next-line @typescript-eslint/no-var-requires
67
- this._globalPino = require('pino')(other, stream);
69
+ this._globalPino = require('pino')(
70
+ {
71
+ ...other,
72
+ /**
73
+ * Функция которая позволяет добавить дополнительные данные в логи Pino
74
+ */
75
+ hooks: logHookFunction
76
+ ? {
77
+ /**
78
+ * Реализация взята с официальной документации
79
+ * https://getpino.io/#/docs/api?id=logmethod
80
+ */
81
+ logMethod: function (
82
+ inputArgs: any[],
83
+ // eslint-disable-next-line @typescript-eslint/ban-types
84
+ method: Function,
85
+ ): unknown {
86
+ if (inputArgs.length >= 2) {
87
+ const arg1: T = inputArgs.shift() || {};
88
+ const arg2 = inputArgs.shift();
89
+
90
+ logHookFunction(arg1);
91
+
92
+ // eslint-disable-next-line unicorn/prefer-reflect-apply
93
+ return method.apply(this, [arg1, arg2, ...inputArgs]);
94
+ }
95
+ return method.apply(this, inputArgs);
96
+ },
97
+ }
98
+ : {},
99
+ },
100
+ stream,
101
+ );
68
102
  }
69
103
 
70
104
  private static opts: LoggerOptions = {