@pristine-ts/logging 0.0.328 → 0.0.330

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.
@@ -43,9 +43,14 @@ let ConsoleLogger = class ConsoleLogger extends base_logger_1.BaseLogger {
43
43
  * We often do not need to go to the bottom layer of an object, so we can truncate at a certain depth.
44
44
  * @param isActivated Whether or not this particular logger is activated and should output logs.
45
45
  * @param outputMode The output mode, that the logger should use.
46
+ * @param maximumLogsPerSecond The maximum numner of logs per second that can be outputted
46
47
  */
47
- constructor(numberOfStackedLogs, logSeverityLevelConfiguration, logDebugDepthConfiguration, logInfoDepthConfiguration, logWarningDepthConfiguration, logErrorDepthConfiguration, logCriticalDepthConfiguration, isActivated, outputMode) {
48
+ constructor(numberOfStackedLogs, logSeverityLevelConfiguration, logDebugDepthConfiguration, logInfoDepthConfiguration, logWarningDepthConfiguration, logErrorDepthConfiguration, logCriticalDepthConfiguration, isActivated, outputMode, maximumLogsPerSecond) {
48
49
  super(numberOfStackedLogs, logSeverityLevelConfiguration, logDebugDepthConfiguration, logInfoDepthConfiguration, logWarningDepthConfiguration, logErrorDepthConfiguration, logCriticalDepthConfiguration, isActivated, outputMode);
50
+ this.maximumLogsPerSecond = maximumLogsPerSecond;
51
+ this.currentSecond = -1;
52
+ this.numberOfLogsInThisSecond = 0;
53
+ this.currentlyThrottlingLogs = false;
49
54
  this.initialize();
50
55
  }
51
56
  /**
@@ -72,6 +77,24 @@ let ConsoleLogger = class ConsoleLogger extends base_logger_1.BaseLogger {
72
77
  });
73
78
  }
74
79
  }
80
+ shouldThrottleLogs() {
81
+ const now = new Date().getSeconds();
82
+ if (this.currentSecond !== now) {
83
+ this.currentSecond = now;
84
+ this.numberOfLogsInThisSecond = 1;
85
+ this.currentlyThrottlingLogs = false;
86
+ }
87
+ else {
88
+ this.numberOfLogsInThisSecond++;
89
+ if (this.numberOfLogsInThisSecond > this.maximumLogsPerSecond) {
90
+ if (!this.currentlyThrottlingLogs) {
91
+ console.error(`Throttling the logs as we are outputting too many logs (${this.maximumLogsPerSecond}) per second.`);
92
+ }
93
+ this.currentlyThrottlingLogs = true;
94
+ }
95
+ }
96
+ return this.currentlyThrottlingLogs;
97
+ }
75
98
  /**
76
99
  * Outputs the log in the console.
77
100
  * @param log The log to be outputted
@@ -79,6 +102,9 @@ let ConsoleLogger = class ConsoleLogger extends base_logger_1.BaseLogger {
79
102
  */
80
103
  log(log) {
81
104
  const outputLog = this.getFormattedOutputLog(log);
105
+ if (this.shouldThrottleLogs()) {
106
+ return;
107
+ }
82
108
  switch (log.severity) {
83
109
  case severity_enum_1.SeverityEnum.Debug:
84
110
  console.debug(outputLog);
@@ -113,6 +139,7 @@ exports.ConsoleLogger = ConsoleLogger = __decorate([
113
139
  __param(6, (0, tsyringe_1.inject)("%pristine.logging.logCriticalDepthConfiguration%")),
114
140
  __param(7, (0, tsyringe_1.inject)("%pristine.logging.consoleLoggerActivated%")),
115
141
  __param(8, (0, tsyringe_1.inject)("%pristine.logging.consoleLoggerOutputMode%")),
116
- __metadata("design:paramtypes", [Number, Number, Number, Number, Number, Number, Number, Boolean, String])
142
+ __param(9, (0, tsyringe_1.inject)("%pristine.logging.maximumLogsPerSecond%")),
143
+ __metadata("design:paramtypes", [Number, Number, Number, Number, Number, Number, Number, Boolean, String, Number])
117
144
  ], ConsoleLogger);
118
145
  //# sourceMappingURL=console.logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.logger.js","sourceRoot":"","sources":["../../../../src/loggers/console.logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console.logger.js","sourceRoot":"","sources":["../../../../src/loggers/console.logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAyD;AACzD,0DAAsD;AAGtD,mCAAkC;AAClC,gDAAkF;AAClF,gEAA2D;AAC3D,sEAAiE;AACjE,+CAA2C;AAE3C;;;;GAIG;AAKI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,wBAAU;IAa3C;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAqE,mBAA2B,EACjB,6BAAqC,EACxC,0BAAkC,EACnC,yBAAiC,EAC9B,4BAAoC,EACtC,0BAAkC,EAC/B,6BAAqC,EAC5C,WAAoB,EACnB,UAA0B,EAC7B,oBAA6C;QAEjH,KAAK,CAAC,mBAAmB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,WAAW,EACX,UAAU,CAAC,CAAC;QAVqE,yBAAoB,GAApB,oBAAoB,CAAQ;QAlC3G,kBAAa,GAAG,CAAC,CAAC,CAAC;QAEnB,6BAAwB,GAAG,CAAC,CAAC;QAE7B,4BAAuB,GAAG,KAAK,CAAC;QA0CtC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,SAAS;;QACH,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAEH;;;OAGG;IACO,UAAU;QAClB,IAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAQ,CAAC;gBACjC,UAAU,EAAE,IAAI;gBAChB,IAAI,CAAC,IAAY;oBACf,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;gBACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9D,IAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACjC,OAAO,CAAC,KAAK,CAAC,2DAA2D,IAAI,CAAC,oBAAoB,eAAe,CAAC,CAAC;gBACrH,CAAC;gBACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YAEtC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACO,GAAG,CAAC,GAAa;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAElD,IAAG,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,QAAQ,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,4BAAY,CAAC,KAAK;gBACrB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzB,MAAM;YAER,KAAK,4BAAY,CAAC,IAAI;gBACpB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,MAAM;YAER,KAAK,4BAAY,CAAC,OAAO;gBACvB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,MAAM;YAER,KAAK,4BAAY,CAAC,KAAK;gBACrB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzB,MAAM;YAER,KAAK,4BAAY,CAAC,QAAQ;gBACxB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzB,MAAM;QACV,CAAC;IACH,CAAC;CACF,CAAA;AAvIY,sCAAa;wBAAb,aAAa;IAJzB,IAAA,qBAAY,EAAC,6CAAoB,CAAC;IAClC,IAAA,oBAAS,GAAE;IACX,IAAA,YAAG,EAAC,iCAAwB,CAAC,MAAM,CAAC;IACpC,IAAA,qBAAU,GAAE;IAiCS,WAAA,IAAA,iBAAM,EAAC,wCAAwC,CAAC,CAAA;IAChD,WAAA,IAAA,iBAAM,EAAC,kDAAkD,CAAC,CAAA;IAC1D,WAAA,IAAA,iBAAM,EAAC,+CAA+C,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,8CAA8C,CAAC,CAAA;IACtD,WAAA,IAAA,iBAAM,EAAC,iDAAiD,CAAC,CAAA;IACzD,WAAA,IAAA,iBAAM,EAAC,+CAA+C,CAAC,CAAA;IACvD,WAAA,IAAA,iBAAM,EAAC,kDAAkD,CAAC,CAAA;IAC1D,WAAA,IAAA,iBAAM,EAAC,2CAA2C,CAAC,CAAA;IACnD,WAAA,IAAA,iBAAM,EAAC,4CAA4C,CAAC,CAAA;IACpD,WAAA,IAAA,iBAAM,EAAC,yCAAyC,CAAC,CAAA;;GAzC1D,aAAa,CAuIzB"}
@@ -192,6 +192,19 @@ exports.LoggingModule = {
192
192
  new configuration_1.BooleanResolver(new configuration_1.EnvironmentVariableResolver("PRISTINE_LOGGING_ACTIVATE_DIAGNOSTICS")),
193
193
  ]
194
194
  },
195
+ /**
196
+ * Whether or not the diagnostic should be activated.
197
+ * When activated, the stack trace and other diagnostic information will be added to the logs.
198
+ * This is an intensive process and can dramatically reduce the performance of the code.
199
+ */
200
+ {
201
+ parameterName: logging_module_keyname_1.LoggingModuleKeyname + ".maximumLogsPerSecond",
202
+ defaultValue: 50,
203
+ isRequired: false,
204
+ defaultResolvers: [
205
+ new configuration_1.NumberResolver(new configuration_1.EnvironmentVariableResolver("PRISTINE_LOGGING_MAXIMUM_LOGS_PER_SECOND")),
206
+ ]
207
+ },
195
208
  ],
196
209
  importModules: [
197
210
  common_1.CommonModule,
@@ -1 +1 @@
1
- {"version":3,"file":"logging.module.js","sourceRoot":"","sources":["../../../src/logging.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.module.js","sourceRoot":"","sources":["../../../src/logging.module.ts"],"names":[],"mappings":"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"}
@@ -40,9 +40,14 @@ let ConsoleLogger = class ConsoleLogger extends BaseLogger {
40
40
  * We often do not need to go to the bottom layer of an object, so we can truncate at a certain depth.
41
41
  * @param isActivated Whether or not this particular logger is activated and should output logs.
42
42
  * @param outputMode The output mode, that the logger should use.
43
+ * @param maximumLogsPerSecond The maximum numner of logs per second that can be outputted
43
44
  */
44
- constructor(numberOfStackedLogs, logSeverityLevelConfiguration, logDebugDepthConfiguration, logInfoDepthConfiguration, logWarningDepthConfiguration, logErrorDepthConfiguration, logCriticalDepthConfiguration, isActivated, outputMode) {
45
+ constructor(numberOfStackedLogs, logSeverityLevelConfiguration, logDebugDepthConfiguration, logInfoDepthConfiguration, logWarningDepthConfiguration, logErrorDepthConfiguration, logCriticalDepthConfiguration, isActivated, outputMode, maximumLogsPerSecond) {
45
46
  super(numberOfStackedLogs, logSeverityLevelConfiguration, logDebugDepthConfiguration, logInfoDepthConfiguration, logWarningDepthConfiguration, logErrorDepthConfiguration, logCriticalDepthConfiguration, isActivated, outputMode);
47
+ this.maximumLogsPerSecond = maximumLogsPerSecond;
48
+ this.currentSecond = -1;
49
+ this.numberOfLogsInThisSecond = 0;
50
+ this.currentlyThrottlingLogs = false;
46
51
  this.initialize();
47
52
  }
48
53
  /**
@@ -69,6 +74,24 @@ let ConsoleLogger = class ConsoleLogger extends BaseLogger {
69
74
  });
70
75
  }
71
76
  }
77
+ shouldThrottleLogs() {
78
+ const now = new Date().getSeconds();
79
+ if (this.currentSecond !== now) {
80
+ this.currentSecond = now;
81
+ this.numberOfLogsInThisSecond = 1;
82
+ this.currentlyThrottlingLogs = false;
83
+ }
84
+ else {
85
+ this.numberOfLogsInThisSecond++;
86
+ if (this.numberOfLogsInThisSecond > this.maximumLogsPerSecond) {
87
+ if (!this.currentlyThrottlingLogs) {
88
+ console.error(`Throttling the logs as we are outputting too many logs (${this.maximumLogsPerSecond}) per second.`);
89
+ }
90
+ this.currentlyThrottlingLogs = true;
91
+ }
92
+ }
93
+ return this.currentlyThrottlingLogs;
94
+ }
72
95
  /**
73
96
  * Outputs the log in the console.
74
97
  * @param log The log to be outputted
@@ -76,6 +99,9 @@ let ConsoleLogger = class ConsoleLogger extends BaseLogger {
76
99
  */
77
100
  log(log) {
78
101
  const outputLog = this.getFormattedOutputLog(log);
102
+ if (this.shouldThrottleLogs()) {
103
+ return;
104
+ }
79
105
  switch (log.severity) {
80
106
  case SeverityEnum.Debug:
81
107
  console.debug(outputLog);
@@ -109,7 +135,8 @@ ConsoleLogger = __decorate([
109
135
  __param(6, inject("%pristine.logging.logCriticalDepthConfiguration%")),
110
136
  __param(7, inject("%pristine.logging.consoleLoggerActivated%")),
111
137
  __param(8, inject("%pristine.logging.consoleLoggerOutputMode%")),
112
- __metadata("design:paramtypes", [Number, Number, Number, Number, Number, Number, Number, Boolean, String])
138
+ __param(9, inject("%pristine.logging.maximumLogsPerSecond%")),
139
+ __metadata("design:paramtypes", [Number, Number, Number, Number, Number, Number, Number, Boolean, String, Number])
113
140
  ], ConsoleLogger);
114
141
  export { ConsoleLogger };
115
142
  //# sourceMappingURL=console.logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.logger.js","sourceRoot":"","sources":["../../../../src/loggers/console.logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"console.logger.js","sourceRoot":"","sources":["../../../../src/loggers/console.logger.ts"],"names":[],"mappings":"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"}
@@ -175,6 +175,19 @@ export const LoggingModule = {
175
175
  new BooleanResolver(new EnvironmentVariableResolver("PRISTINE_LOGGING_ACTIVATE_DIAGNOSTICS")),
176
176
  ]
177
177
  },
178
+ /**
179
+ * Whether or not the diagnostic should be activated.
180
+ * When activated, the stack trace and other diagnostic information will be added to the logs.
181
+ * This is an intensive process and can dramatically reduce the performance of the code.
182
+ */
183
+ {
184
+ parameterName: LoggingModuleKeyname + ".maximumLogsPerSecond",
185
+ defaultValue: 50,
186
+ isRequired: false,
187
+ defaultResolvers: [
188
+ new NumberResolver(new EnvironmentVariableResolver("PRISTINE_LOGGING_MAXIMUM_LOGS_PER_SECOND")),
189
+ ]
190
+ },
178
191
  ],
179
192
  importModules: [
180
193
  CommonModule,
@@ -1 +1 @@
1
- {"version":3,"file":"logging.module.js","sourceRoot":"","sources":["../../../src/logging.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.module.js","sourceRoot":"","sources":["../../../src/logging.module.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,14 @@ import { BaseLogger } from "./base.logger";
10
10
  * It is module scoped to the logging module so that it is only registered if the logging module is imported.
11
11
  */
12
12
  export declare class ConsoleLogger extends BaseLogger implements LoggerInterface {
13
+ private readonly maximumLogsPerSecond;
13
14
  /**
14
15
  * The readable stream from which the logger reads the logs that need to be outputted.
15
16
  */
16
17
  readableStream?: Readable;
18
+ private currentSecond;
19
+ private numberOfLogsInThisSecond;
20
+ private currentlyThrottlingLogs;
17
21
  /**
18
22
  * The ConsoleLogger outputs the logs in the console.
19
23
  * @param numberOfStackedLogs The number of logs to keep in the stack and to print once a log with a high enough severity arrives.
@@ -31,8 +35,9 @@ export declare class ConsoleLogger extends BaseLogger implements LoggerInterface
31
35
  * We often do not need to go to the bottom layer of an object, so we can truncate at a certain depth.
32
36
  * @param isActivated Whether or not this particular logger is activated and should output logs.
33
37
  * @param outputMode The output mode, that the logger should use.
38
+ * @param maximumLogsPerSecond The maximum numner of logs per second that can be outputted
34
39
  */
35
- constructor(numberOfStackedLogs: number, logSeverityLevelConfiguration: number, logDebugDepthConfiguration: number, logInfoDepthConfiguration: number, logWarningDepthConfiguration: number, logErrorDepthConfiguration: number, logCriticalDepthConfiguration: number, isActivated: boolean, outputMode: OutputModeEnum);
40
+ constructor(numberOfStackedLogs: number, logSeverityLevelConfiguration: number, logDebugDepthConfiguration: number, logInfoDepthConfiguration: number, logWarningDepthConfiguration: number, logErrorDepthConfiguration: number, logCriticalDepthConfiguration: number, isActivated: boolean, outputMode: OutputModeEnum, maximumLogsPerSecond: number);
36
41
  /**
37
42
  * This will be called when the logger is to be terminated. It must destroy the readable stream.
38
43
  */
@@ -42,6 +47,7 @@ export declare class ConsoleLogger extends BaseLogger implements LoggerInterface
42
47
  * @protected
43
48
  */
44
49
  protected initialize(): void;
50
+ private shouldThrottleLogs;
45
51
  /**
46
52
  * Outputs the log in the console.
47
53
  * @param log The log to be outputted
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/logging",
3
- "version": "0.0.328",
3
+ "version": "0.0.330",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/logging.module.js",
6
6
  "main": "dist/lib/cjs/logging.module.js",
@@ -12,8 +12,8 @@
12
12
  "test:cov": "jest --coverage"
13
13
  },
14
14
  "dependencies": {
15
- "@pristine-ts/common": "^0.0.328",
16
- "@pristine-ts/configuration": "^0.0.328",
15
+ "@pristine-ts/common": "^0.0.330",
16
+ "@pristine-ts/configuration": "^0.0.330",
17
17
  "date-fns": "^2.30.0"
18
18
  },
19
19
  "files": [
@@ -58,5 +58,5 @@
58
58
  "src/*.{js,ts}"
59
59
  ]
60
60
  },
61
- "gitHead": "e798ddb9ec27fcacaf691c2fa7b5f3dd2cbc4d25"
61
+ "gitHead": "0c584f71e340ef6f8bedc9f526c5d48156e26f75"
62
62
  }