nestjs-fox-logger 0.0.4 → 0.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.
package/README.md CHANGED
@@ -39,29 +39,63 @@ import { ClsModule } from 'nestjs-cls';
39
39
  ],
40
40
  })
41
41
  export class AppModule {}
42
+ ```
43
+
44
+ ```ts
45
+ /// ...in a feature module (with cls)
46
+ import { FoxLoggerModule } from 'nestjs-fox-logger';
42
47
 
43
- /// ...in a feature module
48
+ @Module({
49
+ imports: [
50
+ FoxLoggerModule.forFeature({
51
+ name: 'SomeName',
52
+ }),
53
+ ],
54
+ controllers: [],
55
+ providers: [],
56
+ exports: [],
57
+ })
58
+ export class SomeModule {}
59
+ ```
60
+
61
+ ```ts
62
+ // ...in a feature module (with cls)
44
63
  import { FoxLoggerModule } from 'nestjs-fox-logger';
45
64
 
46
65
  @Module({
47
66
  imports: [
48
- LoggerModule.forFeatureAsync({
49
- useFactory: (cls: ClsService) => ({
50
- cls,
51
- name: UsersModule.name,
52
- }),
53
- inject: [ClsService]
67
+ FoxLoggerModule.forFeatureAsync({
68
+ useFactory: (cls: ClsService) => ({ name: 'SomeName', cls }),
69
+ inject: [ClsService],
54
70
  }),
55
71
  ],
56
72
  controllers: [],
57
73
  providers: [],
58
74
  exports: [],
59
75
  })
60
- export class UsersModule {}
76
+ export class SomeModule {}
61
77
  ```
62
78
 
63
79
  #### Call
64
80
 
81
+ #### Regular
82
+
83
+ ```typescript
84
+ import { LoopService } from 'nestjs-fox-logger';
85
+
86
+ @Injectable()
87
+ export class YourService {
88
+ constructor(private readonly logger: FoxLoggerService) {}
89
+
90
+ async foo() {
91
+ await this.logger.log('someMessage');
92
+ await this.logger.log('someMessage');
93
+ }
94
+ }
95
+ ```
96
+
97
+ ##### With Event ID
98
+
65
99
  ```typescript
66
100
  import { LoopService } from 'nestjs-fox-logger';
67
101
 
@@ -1,9 +1,11 @@
1
1
  import { ModuleMetadata, Provider, Type } from '@nestjs/common';
2
2
  import { ClsService } from 'nestjs-cls';
3
3
  export interface FoxLoggerServiceOptions {
4
+ timestamp?: boolean;
4
5
  name?: string;
5
6
  cls?: ClsService;
6
- timestamp?: boolean;
7
+ formatter?: (msg: unknown) => string;
8
+ prefixer?: (...args: unknown[]) => string;
7
9
  }
8
10
  export interface FoxLoggerServiceFeatureOptions extends FoxLoggerServiceOptions {
9
11
  name: Required<string>;
@@ -4,14 +4,16 @@ export declare class FoxLoggerService extends Logger {
4
4
  readonly options: FoxLoggerServiceOptions;
5
5
  private readonly $name?;
6
6
  private readonly cls?;
7
+ private readonly formatter;
8
+ private readonly prefixer;
7
9
  constructor(options: FoxLoggerServiceOptions);
8
- static FormatObjectMessage(msg: object): string;
9
- static FormatMessage(msg: unknown): string;
10
- private getPrefix;
11
- log(msg: any, eventId?: string): void;
12
- warn(msg: any, eventId?: string): void;
13
- debug(msg: any, eventId?: string): void;
14
- error(msg: any, eventId?: string): void;
15
- verbose(msg: any, eventId?: string): void;
16
- fatal(msg: any, eventId?: string): void;
10
+ log(msg: unknown, eventId?: string): void;
11
+ warn(msg: unknown, eventId?: string): void;
12
+ debug(msg: unknown, eventId?: string): void;
13
+ error(msg: unknown, eventId?: string): void;
14
+ verbose(msg: unknown, eventId?: string): void;
15
+ fatal(msg: unknown, eventId?: string): void;
16
+ private defaultFormatObjectMsg;
17
+ private defaultFormatter;
18
+ defaultPrefixer(eventId?: string): string;
17
19
  }
@@ -11,19 +11,38 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var FoxLoggerService_1;
15
14
  Object.defineProperty(exports, "__esModule", { value: true });
16
15
  exports.FoxLoggerService = void 0;
17
16
  const common_1 = require("@nestjs/common");
18
17
  const fox_logger_const_1 = require("./fox-logger.const");
19
- let FoxLoggerService = FoxLoggerService_1 = class FoxLoggerService extends common_1.Logger {
18
+ let FoxLoggerService = class FoxLoggerService extends common_1.Logger {
20
19
  constructor(options) {
21
20
  super();
22
21
  this.options = options;
23
22
  this.$name = options.name;
24
23
  this.cls = options.cls;
24
+ this.formatter = options.formatter || this.defaultFormatter;
25
+ this.prefixer = options.prefixer || this.defaultPrefixer;
25
26
  }
26
- static FormatObjectMessage(msg) {
27
+ log(msg, eventId) {
28
+ return common_1.Logger.log(`${this.prefixer(eventId)}: ${this.formatter(msg)}`);
29
+ }
30
+ warn(msg, eventId) {
31
+ return common_1.Logger.warn(`${this.prefixer(eventId)}: ${this.formatter(msg)}`);
32
+ }
33
+ debug(msg, eventId) {
34
+ return common_1.Logger.debug(`${this.prefixer(eventId)}: ${this.formatter(msg)}`);
35
+ }
36
+ error(msg, eventId) {
37
+ return common_1.Logger.error(`${this.prefixer(eventId)}: ${this.formatter(msg)}`);
38
+ }
39
+ verbose(msg, eventId) {
40
+ return common_1.Logger.verbose(`${this.prefixer(eventId)}: ${this.formatter(msg)}`);
41
+ }
42
+ fatal(msg, eventId) {
43
+ return common_1.Logger.fatal(`${this.prefixer(eventId)}: ${this.formatter(msg)}`);
44
+ }
45
+ defaultFormatObjectMsg(msg) {
27
46
  const prefix = [
28
47
  'statusCode' in msg && `[${msg.statusCode}]`,
29
48
  'status' in msg && `[${msg.status}]`,
@@ -42,43 +61,25 @@ let FoxLoggerService = FoxLoggerService_1 = class FoxLoggerService extends commo
42
61
  }
43
62
  return JSON.stringify(msg);
44
63
  }
45
- static FormatMessage(msg) {
64
+ defaultFormatter(msg) {
46
65
  switch (typeof msg) {
47
66
  case 'object':
48
67
  if (Array.isArray(msg)) {
49
- return msg.map(this.FormatObjectMessage).join(`\n`);
68
+ return msg.map(this.defaultFormatObjectMsg).join(`\n`);
50
69
  }
51
- return this.FormatObjectMessage(msg);
70
+ return this.defaultFormatObjectMsg(msg);
52
71
  default:
53
72
  return String(msg);
54
73
  }
55
74
  }
56
- getPrefix(eventId) {
75
+ defaultPrefixer(eventId) {
57
76
  return (`${this.$name ? `[${this.$name}]` : ``}` +
58
77
  `${this.cls?.getId() ? `[${this.cls?.getId()}]` : ''}` +
59
78
  `${eventId ? `[${eventId}]` : ``}`);
60
79
  }
61
- log(msg, eventId) {
62
- return common_1.Logger.log(`${this.getPrefix(eventId)}: ${FoxLoggerService_1.FormatMessage(msg)}`);
63
- }
64
- warn(msg, eventId) {
65
- return common_1.Logger.warn(`${this.getPrefix(eventId)}: ${FoxLoggerService_1.FormatMessage(msg)}`);
66
- }
67
- debug(msg, eventId) {
68
- return common_1.Logger.debug(`${this.getPrefix(eventId)}: ${FoxLoggerService_1.FormatMessage(msg)}`);
69
- }
70
- error(msg, eventId) {
71
- return common_1.Logger.error(`${this.getPrefix(eventId)}: ${FoxLoggerService_1.FormatMessage(msg)}`);
72
- }
73
- verbose(msg, eventId) {
74
- return common_1.Logger.verbose(`${this.getPrefix(eventId)}: ${FoxLoggerService_1.FormatMessage(msg)}`);
75
- }
76
- fatal(msg, eventId) {
77
- return common_1.Logger.fatal(`${this.getPrefix(eventId)}: ${FoxLoggerService_1.FormatMessage(msg)}`);
78
- }
79
80
  };
80
81
  exports.FoxLoggerService = FoxLoggerService;
81
- exports.FoxLoggerService = FoxLoggerService = FoxLoggerService_1 = __decorate([
82
+ exports.FoxLoggerService = FoxLoggerService = __decorate([
82
83
  (0, common_1.Injectable)(),
83
84
  __param(0, (0, common_1.Inject)(fox_logger_const_1.FOXLOGGER_SERVICE_OPTIONS)),
84
85
  __metadata("design:paramtypes", [Object])
@@ -1 +1 @@
1
- {"version":3,"file":"fox-logger.service.js","sourceRoot":"","sources":["../src/fox-logger.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fox-logger.service.js","sourceRoot":"","sources":["../src/fox-logger.service.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=fox-logger.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fox-logger.utils.js","sourceRoot":"","sources":["../src/fox-logger.utils.ts"],"names":[],"mappings":""}