@rf-logger/logger-nestjs 0.0.11 → 0.1.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.
@@ -1,3 +1,13 @@
1
- import { LoggerService } from "@nestjs/common";
1
+ import { LoggerService, LogLevel as NestLogLevel } from "@nestjs/common";
2
2
  import { Logger } from "winston";
3
- export declare const generateNestLoggerAdapter: (logger: Logger) => LoggerService;
3
+ export declare class NestLoggerAdapter implements LoggerService {
4
+ private logger;
5
+ constructor(logger: Logger);
6
+ private getContext;
7
+ protected logMessage(nestLogLevel: NestLogLevel, message: unknown, args: unknown[]): void;
8
+ error(message: unknown, ...args: unknown[]): void;
9
+ warn(message: unknown, ...args: unknown[]): void;
10
+ log(message: unknown, ...args: unknown[]): void;
11
+ debug(message: unknown, ...args: unknown[]): void;
12
+ verbose(message: unknown, ...args: unknown[]): void;
13
+ }
@@ -1,13 +1,56 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateNestLoggerAdapter = void 0;
4
- const generateNestLoggerAdapter = (logger) => {
5
- return {
6
- log: logger.info.bind(logger),
7
- error: logger.error.bind(logger),
8
- warn: logger.warn.bind(logger),
9
- debug: logger.debug.bind(logger),
10
- verbose: logger.verbose.bind(logger),
11
- };
3
+ exports.NestLoggerAdapter = void 0;
4
+ const mapNestLevelToWinstonLevel = {
5
+ log: "info",
6
+ error: "error",
7
+ warn: "warn",
8
+ debug: "debug",
9
+ verbose: "verbose",
12
10
  };
13
- exports.generateNestLoggerAdapter = generateNestLoggerAdapter;
11
+ class NestLoggerAdapter {
12
+ constructor(logger) {
13
+ this.logger = logger;
14
+ }
15
+ getContext(args) {
16
+ if ((args === null || args === void 0 ? void 0 : args.length) < 1)
17
+ return;
18
+ const lastElement = args.at(-1);
19
+ const isContext = typeof lastElement === "string";
20
+ if (!isContext)
21
+ return;
22
+ return args.pop();
23
+ }
24
+ logMessage(nestLogLevel, message, args) {
25
+ const winstonLogLevel = mapNestLevelToWinstonLevel[nestLogLevel || "log"];
26
+ const context = this.getContext(args);
27
+ const log = Object.assign(message instanceof Error ? message : { message: message }, {
28
+ level: winstonLogLevel,
29
+ channel: "nestjs",
30
+ nestContext: context,
31
+ });
32
+ args.forEach((meta) => {
33
+ if (meta instanceof Error)
34
+ log.error = meta;
35
+ else
36
+ Object.assign(log, meta);
37
+ });
38
+ this.logger.log(log);
39
+ }
40
+ error(message, ...args) {
41
+ this.logMessage("error", message, args);
42
+ }
43
+ warn(message, ...args) {
44
+ this.logMessage("warn", message, args);
45
+ }
46
+ log(message, ...args) {
47
+ this.logMessage("log", message, args);
48
+ }
49
+ debug(message, ...args) {
50
+ this.logMessage("debug", message, args);
51
+ }
52
+ verbose(message, ...args) {
53
+ this.logMessage("verbose", message, args);
54
+ }
55
+ }
56
+ exports.NestLoggerAdapter = NestLoggerAdapter;
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { generateNestLoggerAdapter } from "./adapters/nest.adapter";
1
+ export { NestLoggerAdapter } from "./adapters/nest.adapter";
2
2
  export { LoggerModule } from "./module/logger.module";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoggerModule = exports.generateNestLoggerAdapter = void 0;
3
+ exports.LoggerModule = exports.NestLoggerAdapter = void 0;
4
4
  var nest_adapter_1 = require("./adapters/nest.adapter");
5
- Object.defineProperty(exports, "generateNestLoggerAdapter", { enumerable: true, get: function () { return nest_adapter_1.generateNestLoggerAdapter; } });
5
+ Object.defineProperty(exports, "NestLoggerAdapter", { enumerable: true, get: function () { return nest_adapter_1.NestLoggerAdapter; } });
6
6
  var logger_module_1 = require("./module/logger.module");
7
7
  Object.defineProperty(exports, "LoggerModule", { enumerable: true, get: function () { return logger_module_1.LoggerModule; } });
@@ -18,7 +18,7 @@ LoggerModule = __decorate([
18
18
  providers: [
19
19
  {
20
20
  provide: common_1.Logger,
21
- useFactory: (options) => (0, nest_adapter_1.generateNestLoggerAdapter)(new logger_1.Logger(options).init()),
21
+ useFactory: (options) => new nest_adapter_1.NestLoggerAdapter(new logger_1.Logger(options).init()),
22
22
  inject: [logger_module_definition_1.MODULE_OPTIONS_TOKEN],
23
23
  },
24
24
  ],
package/package.json CHANGED
@@ -5,15 +5,17 @@
5
5
  ],
6
6
  "main": "dist/index.js",
7
7
  "peerDependencies": {
8
+ "@nestjs/core": "^9.2.1",
8
9
  "@nestjs/common": "^9.2.1",
9
10
  "winston": "^3.8.2",
10
- "@rf-logger/logger": "0.0.11"
11
+ "@rf-logger/logger": "0.1.1"
11
12
  },
12
13
  "engines": {
13
14
  "node": ">=16.0.0"
14
15
  },
15
- "version": "0.0.11",
16
+ "version": "0.1.1",
16
17
  "scripts": {
18
+ "test": "jest",
17
19
  "version": "pnpm version --no-git-tag-version"
18
20
  }
19
21
  }