@takentrade/takentrade-libs 4.1.10 → 4.1.12

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,3 @@
1
1
  export * from './logger.service';
2
2
  export * from './logger.module';
3
- export type { LogContext } from './logger.service';
3
+ export type { LogContext, LoggerContext, TntLogger } from './logger.interface';
@@ -0,0 +1,17 @@
1
+ export interface LogContext {
2
+ correlationId?: string;
3
+ userId?: string;
4
+ service?: string;
5
+ [key: string]: any;
6
+ }
7
+ export type LoggerContext = string | LogContext;
8
+ export interface TntLogger {
9
+ setContext(context: LogContext): void;
10
+ log(message: string, context?: LoggerContext): void;
11
+ error(message: string, trace?: string, context?: LoggerContext): void;
12
+ warn(message: string, context?: LoggerContext): void;
13
+ debug(message: string, context?: LoggerContext): void;
14
+ verbose(message: string, context?: LoggerContext): void;
15
+ logRequest(req: any, context?: LogContext): void;
16
+ logResponse(req: any, res: any, responseTime: number, context?: LogContext): void;
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,15 +1,10 @@
1
1
  import { LoggerService as NestLoggerService } from '@nestjs/common';
2
- export interface LogContext {
3
- correlationId?: string;
4
- userId?: string;
5
- service?: string;
6
- [key: string]: any;
7
- }
2
+ import { LogContext, LoggerContext, TntLogger } from './logger.interface';
8
3
  /**
9
4
  * TNT Logger Service - Pino-based structured JSON logger
10
5
  * Provides consistent logging across all microservices
11
6
  */
12
- export declare class TntLoggerService implements NestLoggerService {
7
+ export declare class TntLoggerService implements NestLoggerService, TntLogger {
13
8
  private logger;
14
9
  private context;
15
10
  constructor(context?: LogContext);
@@ -17,26 +12,28 @@ export declare class TntLoggerService implements NestLoggerService {
17
12
  * Set context for all subsequent log messages
18
13
  */
19
14
  setContext(context: LogContext): void;
15
+ private normalizeContext;
16
+ private formatMessage;
20
17
  /**
21
18
  * Log info message
22
19
  */
23
- log(message: string, context?: LogContext): void;
20
+ log(message: string, context?: LoggerContext): void;
24
21
  /**
25
22
  * Log error message
26
23
  */
27
- error(message: string, trace?: string, context?: LogContext): void;
24
+ error(message: string, trace?: string, context?: LoggerContext): void;
28
25
  /**
29
26
  * Log warning message
30
27
  */
31
- warn(message: string, context?: LogContext): void;
28
+ warn(message: string, context?: LoggerContext): void;
32
29
  /**
33
30
  * Log debug message
34
31
  */
35
- debug(message: string, context?: LogContext): void;
32
+ debug(message: string, context?: LoggerContext): void;
36
33
  /**
37
34
  * Log verbose message
38
35
  */
39
- verbose(message: string, context?: LogContext): void;
36
+ verbose(message: string, context?: LoggerContext): void;
40
37
  /**
41
38
  * Log HTTP request
42
39
  */
@@ -44,35 +44,50 @@ let TntLoggerService = class TntLoggerService {
44
44
  setContext(context) {
45
45
  this.context = { ...this.context, ...context };
46
46
  }
47
+ normalizeContext(context) {
48
+ if (!context) {
49
+ return {};
50
+ }
51
+ if (typeof context === 'string') {
52
+ return {};
53
+ }
54
+ return context;
55
+ }
56
+ formatMessage(message, context) {
57
+ if (typeof context === 'string' && context.trim().length > 0) {
58
+ return `[${context.trim()}] ${message}`;
59
+ }
60
+ return message;
61
+ }
47
62
  /**
48
63
  * Log info message
49
64
  */
50
65
  log(message, context) {
51
- this.logger.info({ ...this.context, ...context }, message);
66
+ this.logger.info({ ...this.context, ...this.normalizeContext(context) }, this.formatMessage(message, context));
52
67
  }
53
68
  /**
54
69
  * Log error message
55
70
  */
56
71
  error(message, trace, context) {
57
- this.logger.error({ ...this.context, ...context, trace }, message);
72
+ this.logger.error({ ...this.context, ...this.normalizeContext(context), trace }, this.formatMessage(message, context));
58
73
  }
59
74
  /**
60
75
  * Log warning message
61
76
  */
62
77
  warn(message, context) {
63
- this.logger.warn({ ...this.context, ...context }, message);
78
+ this.logger.warn({ ...this.context, ...this.normalizeContext(context) }, this.formatMessage(message, context));
64
79
  }
65
80
  /**
66
81
  * Log debug message
67
82
  */
68
83
  debug(message, context) {
69
- this.logger.debug({ ...this.context, ...context }, message);
84
+ this.logger.debug({ ...this.context, ...this.normalizeContext(context) }, this.formatMessage(message, context));
70
85
  }
71
86
  /**
72
87
  * Log verbose message
73
88
  */
74
89
  verbose(message, context) {
75
- this.logger.trace({ ...this.context, ...context }, message);
90
+ this.logger.trace({ ...this.context, ...this.normalizeContext(context) }, this.formatMessage(message, context));
76
91
  }
77
92
  /**
78
93
  * Log HTTP request