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 +42 -8
- package/dist/fox-logger.interfaces.d.ts +3 -1
- package/dist/fox-logger.service.d.ts +11 -9
- package/dist/fox-logger.service.js +27 -26
- package/dist/fox-logger.service.js.map +1 -1
- package/dist/fox-logger.utils.d.ts +0 -0
- package/dist/fox-logger.utils.js +1 -0
- package/dist/fox-logger.utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/fox-logger.interfaces.ts +4 -1
- package/src/fox-logger.service.ts +29 -36
- package/src/fox-logger.utils.ts +0 -0
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
|
-
|
|
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
|
-
|
|
49
|
-
useFactory: (cls: ClsService) => ({
|
|
50
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
64
|
+
defaultFormatter(msg) {
|
|
46
65
|
switch (typeof msg) {
|
|
47
66
|
case 'object':
|
|
48
67
|
if (Array.isArray(msg)) {
|
|
49
|
-
return msg.map(this.
|
|
68
|
+
return msg.map(this.defaultFormatObjectMsg).join(`\n`);
|
|
50
69
|
}
|
|
51
|
-
return this.
|
|
70
|
+
return this.defaultFormatObjectMsg(msg);
|
|
52
71
|
default:
|
|
53
72
|
return String(msg);
|
|
54
73
|
}
|
|
55
74
|
}
|
|
56
|
-
|
|
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 =
|
|
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":"
|
|
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":""}
|