@russ-b/nestjs-common-tools 1.9.3 → 1.10.1

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 (50) hide show
  1. package/dist/logger/index.d.ts +3 -0
  2. package/dist/logger/index.js +3 -0
  3. package/dist/logger/index.js.map +1 -1
  4. package/dist/logger/interfaces/index.d.ts +2 -0
  5. package/dist/logger/interfaces/index.js +19 -0
  6. package/dist/logger/interfaces/index.js.map +1 -0
  7. package/dist/logger/interfaces/json-transport-options.d.ts +3 -0
  8. package/dist/logger/interfaces/json-transport-options.js +3 -0
  9. package/dist/logger/interfaces/json-transport-options.js.map +1 -0
  10. package/dist/logger/interfaces/logger-config.interface.d.ts +9 -0
  11. package/dist/logger/interfaces/logger-config.interface.js +3 -0
  12. package/dist/logger/interfaces/logger-config.interface.js.map +1 -0
  13. package/dist/logger/interfaces/loki-transport-options.interface.d.ts +4 -0
  14. package/dist/logger/interfaces/loki-transport-options.interface.js +3 -0
  15. package/dist/logger/interfaces/loki-transport-options.interface.js.map +1 -0
  16. package/dist/logger/interfaces/transport-factory.interface.d.ts +4 -0
  17. package/dist/logger/interfaces/transport-factory.interface.js +3 -0
  18. package/dist/logger/interfaces/transport-factory.interface.js.map +1 -0
  19. package/dist/logger/logger-builder.d.ts +16 -0
  20. package/dist/logger/logger-builder.js +51 -0
  21. package/dist/logger/logger-builder.js.map +1 -0
  22. package/dist/logger/logger.d.ts +6 -2
  23. package/dist/logger/logger.js +29 -13
  24. package/dist/logger/logger.js.map +1 -1
  25. package/dist/logger/transport-factory/index.d.ts +3 -0
  26. package/dist/logger/transport-factory/index.js +20 -0
  27. package/dist/logger/transport-factory/index.js.map +1 -0
  28. package/dist/logger/transport-factory/json.transport-factory.d.ts +7 -0
  29. package/dist/logger/transport-factory/json.transport-factory.js +17 -0
  30. package/dist/logger/transport-factory/json.transport-factory.js.map +1 -0
  31. package/dist/logger/transport-factory/loki.transport-factory.d.ts +9 -0
  32. package/dist/logger/transport-factory/loki.transport-factory.js +63 -0
  33. package/dist/logger/transport-factory/loki.transport-factory.js.map +1 -0
  34. package/dist/logger/transport-factory/nest.transport-factory.d.ts +8 -0
  35. package/dist/logger/transport-factory/nest.transport-factory.js +22 -0
  36. package/dist/logger/transport-factory/nest.transport-factory.js.map +1 -0
  37. package/dist/logger/types/index.d.ts +3 -0
  38. package/dist/logger/types/index.js +20 -0
  39. package/dist/logger/types/index.js.map +1 -0
  40. package/dist/logger/types/log-level.type.d.ts +1 -0
  41. package/dist/logger/types/log-level.type.js +3 -0
  42. package/dist/logger/types/log-level.type.js.map +1 -0
  43. package/dist/logger/types/transport-options.type.d.ts +7 -0
  44. package/dist/logger/types/transport-options.type.js +3 -0
  45. package/dist/logger/types/transport-options.type.js.map +1 -0
  46. package/dist/logger/types/transport.type.d.ts +1 -0
  47. package/dist/logger/types/transport.type.js +3 -0
  48. package/dist/logger/types/transport.type.js.map +1 -0
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +4 -3
@@ -1 +1,4 @@
1
1
  export * from './logger';
2
+ export * from './logger-builder';
3
+ export * from './types';
4
+ export * from './interfaces';
@@ -15,4 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./logger"), exports);
18
+ __exportStar(require("./logger-builder"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./interfaces"), exports);
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,mDAAiC;AACjC,0CAAwB;AACxB,+CAA6B"}
@@ -0,0 +1,2 @@
1
+ export * from './transport-factory.interface';
2
+ export * from './loki-transport-options.interface';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./transport-factory.interface"), exports);
18
+ __exportStar(require("./loki-transport-options.interface"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logger/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,qEAAmD"}
@@ -0,0 +1,3 @@
1
+ export interface JsonTransportOptions {
2
+ prettyPrint?: boolean;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=json-transport-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-transport-options.js","sourceRoot":"","sources":["../../../src/logger/interfaces/json-transport-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { LogLevelType, TransportType } from '../types';
2
+ export interface LoggerConfig {
3
+ appName: string;
4
+ level?: LogLevelType;
5
+ transports: Array<{
6
+ type: TransportType;
7
+ options?: Record<string, any>;
8
+ }>;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=logger-config.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-config.interface.js","sourceRoot":"","sources":["../../../src/logger/interfaces/logger-config.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface LokiTransportOptions {
2
+ lokiUrl: string;
3
+ labels?: Record<string, string>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=loki-transport-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loki-transport-options.interface.js","sourceRoot":"","sources":["../../../src/logger/interfaces/loki-transport-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import * as Transport from 'winston-transport';
2
+ export interface TransportFactory<T extends Transport = Transport> {
3
+ createTransport(): T;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transport-factory.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-factory.interface.js","sourceRoot":"","sources":["../../../src/logger/interfaces/transport-factory.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { LogLevelType } from './types';
2
+ import { LokiTransportOptions } from './interfaces';
3
+ import { JsonTransportOptions } from './interfaces/json-transport-options';
4
+ export declare class LoggerBuilder {
5
+ private appName;
6
+ private level;
7
+ private transports;
8
+ constructor(appName?: string, level?: LogLevelType);
9
+ setLevel(level: LogLevelType): this;
10
+ setAppName(appName: string): this;
11
+ addTransport(type: 'loki', options: LokiTransportOptions): this;
12
+ addTransport(type: 'json', options?: JsonTransportOptions): this;
13
+ addTransport(type: 'nest', options?: {}): this;
14
+ build(): import("@nestjs/common").LoggerService;
15
+ private createTransport;
16
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoggerBuilder = void 0;
4
+ const transport_factory_1 = require("./transport-factory");
5
+ const nest_winston_1 = require("nest-winston");
6
+ class LoggerBuilder {
7
+ constructor(appName = 'NestApp', level = 'debug') {
8
+ this.appName = appName;
9
+ this.level = level;
10
+ this.transports = [];
11
+ }
12
+ setLevel(level) {
13
+ this.level = level;
14
+ return this;
15
+ }
16
+ setAppName(appName) {
17
+ this.appName = appName;
18
+ return this;
19
+ }
20
+ addTransport(transportType, options) {
21
+ const transport = this.createTransport(transportType, options);
22
+ this.transports.push(transport);
23
+ return this;
24
+ }
25
+ build() {
26
+ if (!this.transports.length) {
27
+ throw new Error('Should be at least one transport specified.');
28
+ }
29
+ return nest_winston_1.WinstonModule.createLogger({
30
+ level: this.level,
31
+ transports: this.transports,
32
+ });
33
+ }
34
+ createTransport(type, options) {
35
+ switch (type) {
36
+ case 'json':
37
+ return new transport_factory_1.JsonTransportFactory(this.level).createTransport();
38
+ case 'loki':
39
+ if (!options?.lokiUrl) {
40
+ throw new Error('lokiUrl is required for Loki transport');
41
+ }
42
+ return new transport_factory_1.LokiTransportFactory(this.level, options.lokiUrl, options.labels || { serviceName: this.appName }).createTransport();
43
+ case 'nest':
44
+ return new transport_factory_1.NestTransportFactory(this.level, this.appName).createTransport();
45
+ default:
46
+ throw new Error(`Unknown transport type: ${type}`);
47
+ }
48
+ }
49
+ }
50
+ exports.LoggerBuilder = LoggerBuilder;
51
+ //# sourceMappingURL=logger-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-builder.js","sourceRoot":"","sources":["../../src/logger/logger-builder.ts"],"names":[],"mappings":";;;AACA,2DAI6B;AAE7B,+CAA6C;AAI7C,MAAa,aAAa;IAGxB,YACU,UAAkB,SAAS,EAC3B,QAAsB,OAAO;QAD7B,YAAO,GAAP,OAAO,CAAoB;QAC3B,UAAK,GAAL,KAAK,CAAwB;QAJ/B,eAAU,GAAgB,EAAE,CAAC;IAKlC,CAAC;IAEJ,QAAQ,CAAC,KAAmB;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,YAAY,CAAC,aAA4B,EAAE,OAA6B;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,4BAAa,CAAC,YAAY,CAAC;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CACrB,IAAmB,EACnB,OAA6B;QAE7B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,IAAI,wCAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YAChE,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,OAAO,IAAI,wCAAoB,CAC7B,IAAI,CAAC,KAAK,EACV,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAChD,CAAC,eAAe,EAAE,CAAC;YACtB,KAAK,MAAM;gBACT,OAAO,IAAI,wCAAoB,CAC7B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAO,CACb,CAAC,eAAe,EAAE,CAAC;YACtB;gBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CACF;AAnED,sCAmEC"}
@@ -1,4 +1,8 @@
1
- import { TransportFormat } from './logger.interface';
1
+ import { LogLevelType, TransportOptions, TransportType } from './types';
2
+ import { LoggerBuilder } from './logger-builder';
2
3
  export declare class Logger {
3
- static create(appName: string, level: 'debug' | 'error' | 'fatal' | 'warn' | 'verbose' | 'log', format?: TransportFormat): import("@nestjs/common").LoggerService;
4
+ static builder(appName?: string, level?: LogLevelType): LoggerBuilder;
5
+ private static normalizeFormats;
6
+ static create(appName: string, level: LogLevelType, formats?: TransportType[] | TransportType, options?: TransportOptions): import("@nestjs/common").LoggerService;
7
+ private static addTransportToBuilder;
4
8
  }
@@ -1,22 +1,38 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Logger = void 0;
4
- const nest_winston_1 = require("nest-winston");
5
- const json_format_transport_1 = require("./transports/json-format.transport");
6
- const nest_format_transport_1 = require("./transports/nest-format.transport");
4
+ const logger_builder_1 = require("./logger-builder");
7
5
  class Logger {
8
- static create(appName, level, format) {
9
- const transports = [];
10
- if (format === 'json') {
11
- transports.push(json_format_transport_1.JsonFormatTransport.transport(level));
6
+ static builder(appName, level) {
7
+ return new logger_builder_1.LoggerBuilder(appName, level);
8
+ }
9
+ static normalizeFormats(formats) {
10
+ if (!formats) {
11
+ return ['nest'];
12
12
  }
13
- else {
14
- transports.push(nest_format_transport_1.NestFormatTransport.transport(level, appName));
13
+ return Array.isArray(formats) ? formats : [formats];
14
+ }
15
+ static create(appName, level, formats, options) {
16
+ const builder = Logger.builder(appName, level);
17
+ const types = this.normalizeFormats(formats);
18
+ types.forEach((type) => this.addTransportToBuilder(builder, type, options));
19
+ return builder.build();
20
+ }
21
+ static addTransportToBuilder(builder, type, options) {
22
+ switch (type) {
23
+ case 'loki':
24
+ if (!options?.loki) {
25
+ throw new Error('Loki transport requires options.loki to be provided');
26
+ }
27
+ builder.addTransport(type, options.loki);
28
+ break;
29
+ case 'json':
30
+ builder.addTransport(type, options?.json);
31
+ break;
32
+ case 'nest':
33
+ builder.addTransport(type, options?.nest);
34
+ break;
15
35
  }
16
- return nest_winston_1.WinstonModule.createLogger({
17
- level: level,
18
- transports,
19
- });
20
36
  }
21
37
  }
22
38
  exports.Logger = Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAG7C,8EAAyE;AACzE,8EAAyE;AAEzE,MAAa,MAAM;IACjB,MAAM,CAAC,MAAM,CACX,OAAe,EACf,KAA+D,EAC/D,MAAwB;QAExB,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,2CAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,2CAAmB,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,4BAAa,CAAC,YAAY,CAAC;YAChC,KAAK,EAAE,KAAK;YACZ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAlBD,wBAkBC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAEjD,MAAa,MAAM;IAcjB,MAAM,CAAC,OAAO,CAAC,OAAgB,EAAE,KAAoB;QACnD,OAAO,IAAI,8BAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAC7B,OAAyC;QAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,MAAM,CACX,OAAe,EACf,KAAmB,EACnB,OAAyC,EACzC,OAA0B;QAE1B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE7C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAE5E,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAClC,OAAsB,EACtB,IAAmB,EACnB,OAA0B;QAE1B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,MAAM;QACV,CAAC;IACH,CAAC;CACF;AA/DD,wBA+DC"}
@@ -0,0 +1,3 @@
1
+ export * from './json.transport-factory';
2
+ export * from './nest.transport-factory';
3
+ export * from './loki.transport-factory';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./json.transport-factory"), exports);
18
+ __exportStar(require("./nest.transport-factory"), exports);
19
+ __exportStar(require("./loki.transport-factory"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logger/transport-factory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,2DAAyC;AACzC,2DAAyC"}
@@ -0,0 +1,7 @@
1
+ import { TransportFactory } from '../interfaces';
2
+ import { ConsoleTransportInstance } from 'winston/lib/winston/transports';
3
+ export declare class JsonTransportFactory implements TransportFactory {
4
+ private readonly level;
5
+ constructor(level: string);
6
+ createTransport(): ConsoleTransportInstance;
7
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonTransportFactory = void 0;
4
+ const winston_1 = require("winston");
5
+ class JsonTransportFactory {
6
+ constructor(level) {
7
+ this.level = level;
8
+ }
9
+ createTransport() {
10
+ return new winston_1.transports.Console({
11
+ level: this.level,
12
+ format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.ms(), winston_1.format.json()),
13
+ });
14
+ }
15
+ }
16
+ exports.JsonTransportFactory = JsonTransportFactory;
17
+ //# sourceMappingURL=json.transport-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.transport-factory.js","sourceRoot":"","sources":["../../../src/logger/transport-factory/json.transport-factory.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAI7C,MAAa,oBAAoB;IAC/B,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE9C,eAAe;QACb,OAAO,IAAI,oBAAU,CAAC,OAAO,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,gBAAM,CAAC,OAAO,CAAC,gBAAM,CAAC,SAAS,EAAE,EAAE,gBAAM,CAAC,EAAE,EAAE,EAAE,gBAAM,CAAC,IAAI,EAAE,CAAC;SACvE,CAAC,CAAC;IACL,CAAC;CACF;AATD,oDASC"}
@@ -0,0 +1,9 @@
1
+ import LokiTransport from 'winston-loki';
2
+ import { TransportFactory } from '../interfaces';
3
+ export declare class LokiTransportFactory implements TransportFactory {
4
+ private readonly level;
5
+ private readonly lokiUrl;
6
+ private readonly labels;
7
+ constructor(level: string, lokiUrl: string, labels: Record<string, any>);
8
+ createTransport(): LokiTransport;
9
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.LokiTransportFactory = void 0;
40
+ const winston = __importStar(require("winston"));
41
+ const winston_loki_1 = __importDefault(require("winston-loki"));
42
+ class LokiTransportFactory {
43
+ constructor(level, lokiUrl, labels) {
44
+ this.level = level;
45
+ this.lokiUrl = lokiUrl;
46
+ this.labels = labels;
47
+ }
48
+ createTransport() {
49
+ return new winston_loki_1.default({
50
+ host: this.lokiUrl,
51
+ labels: this.labels,
52
+ json: true,
53
+ level: this.level,
54
+ format: winston.format.json(),
55
+ replaceTimestamp: true,
56
+ onConnectionError: (err) => {
57
+ throw err;
58
+ },
59
+ });
60
+ }
61
+ }
62
+ exports.LokiTransportFactory = LokiTransportFactory;
63
+ //# sourceMappingURL=loki.transport-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loki.transport-factory.js","sourceRoot":"","sources":["../../../src/logger/transport-factory/loki.transport-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,gEAAyC;AAGzC,MAAa,oBAAoB;IAC/B,YACmB,KAAa,EACb,OAAe,EACf,MAA2B;QAF3B,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ,eAAe;QACb,OAAO,IAAI,sBAAa,CAAC;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YAC7B,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,GAAG,CAAC;YACZ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AApBD,oDAoBC"}
@@ -0,0 +1,8 @@
1
+ import { TransportFactory } from '../interfaces';
2
+ import { ConsoleTransportInstance } from 'winston/lib/winston/transports';
3
+ export declare class NestTransportFactory implements TransportFactory {
4
+ private readonly level;
5
+ private readonly appName;
6
+ constructor(level: string, appName?: string);
7
+ createTransport(): ConsoleTransportInstance;
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NestTransportFactory = void 0;
4
+ const winston_1 = require("winston");
5
+ const nest_winston_1 = require("nest-winston");
6
+ class NestTransportFactory {
7
+ constructor(level, appName = 'app') {
8
+ this.level = level;
9
+ this.appName = appName;
10
+ }
11
+ createTransport() {
12
+ return new winston_1.transports.Console({
13
+ level: this.level,
14
+ format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.ms(), nest_winston_1.utilities.format.nestLike(this.appName, {
15
+ colors: true,
16
+ prettyPrint: true,
17
+ })),
18
+ });
19
+ }
20
+ }
21
+ exports.NestTransportFactory = NestTransportFactory;
22
+ //# sourceMappingURL=nest.transport-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest.transport-factory.js","sourceRoot":"","sources":["../../../src/logger/transport-factory/nest.transport-factory.ts"],"names":[],"mappings":";;;AAAA,qCAA6C;AAC7C,+CAAyC;AAIzC,MAAa,oBAAoB;IAC/B,YACmB,KAAa,EACb,UAAkB,KAAK;QADvB,UAAK,GAAL,KAAK,CAAQ;QACb,YAAO,GAAP,OAAO,CAAgB;IACvC,CAAC;IAEJ,eAAe;QACb,OAAO,IAAI,oBAAU,CAAC,OAAO,CAAC;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,gBAAM,CAAC,OAAO,CACpB,gBAAM,CAAC,SAAS,EAAE,EAClB,gBAAM,CAAC,EAAE,EAAE,EACX,wBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;gBACtC,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI;aAClB,CAAC,CACH;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAnBD,oDAmBC"}
@@ -0,0 +1,3 @@
1
+ export * from './log-level.type';
2
+ export * from './transport.type';
3
+ export * from './transport-options.type';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./log-level.type"), exports);
18
+ __exportStar(require("./transport.type"), exports);
19
+ __exportStar(require("./transport-options.type"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logger/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,2DAAyC"}
@@ -0,0 +1 @@
1
+ export type LogLevelType = 'debug' | 'error' | 'fatal' | 'warn' | 'verbose' | 'log';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=log-level.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-level.type.js","sourceRoot":"","sources":["../../../src/logger/types/log-level.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { LokiTransportOptions } from '../interfaces';
2
+ import { JsonTransportOptions } from '../interfaces/json-transport-options';
3
+ export type TransportOptions = {
4
+ loki?: LokiTransportOptions;
5
+ json?: JsonTransportOptions;
6
+ nest?: {};
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transport-options.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-options.type.js","sourceRoot":"","sources":["../../../src/logger/types/transport-options.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export type TransportType = 'json' | 'nest' | 'loki';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transport.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.type.js","sourceRoot":"","sources":["../../../src/logger/types/transport.type.ts"],"names":[],"mappings":""}