@arivlabs/logger 1.0.0 → 1.2.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/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ All notable changes to `@arivlabs/logger` will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.2.0] - 2024-12-23
9
+
10
+ ### Added
11
+
12
+ - **Proper error logging**: `LogData` type now explicitly supports `err` property for Error objects
13
+ - Pino's error serializer properly captures error type, message, stack, and custom properties
14
+
15
+ ### Changed
16
+
17
+ - Updated documentation to show correct error logging pattern: `{ err: error }` instead of `{ error: err.message }`
18
+
19
+ ## [1.1.0] - 2024-12-23
20
+
21
+ ### Added
22
+
23
+ - **Flexible calling convention**: Now supports intuitive `logger.info('message', { data })` style in addition to pino's native `logger.info({ msg: 'message', data })` style
24
+ - Better compatibility with common logging patterns (Winston, console.log style)
25
+
26
+ ### Changed
27
+
28
+ - Logger methods now accept both calling styles, making migration from other logging libraries easier
29
+ - `domain()` and `withContext()` now return `ArivLogger` instead of `PinoLogger` for consistent API
30
+
8
31
  ## [1.0.0] - 2024-12-23
9
32
 
10
33
  ### Added
package/README.md CHANGED
@@ -19,13 +19,19 @@ import { createLogger } from '@arivlabs/logger';
19
19
  // Create a logger for your service
20
20
  const logger = createLogger({ service: 'api-gateway' });
21
21
 
22
- // Basic logging
22
+ // Basic logging - intuitive style (recommended)
23
+ logger.info('Server started', { port: 3000 });
24
+
25
+ // Error logging - use { err } for proper serialization
26
+ logger.error('Request failed', { err: error }); // ✅ Correct
27
+ // logger.error('Request failed', { error: err.message }); // ❌ Loses type/stack
28
+
29
+ // Also works: pino native style
23
30
  logger.info({ msg: 'Server started', port: 3000 });
24
- logger.error({ msg: 'Something failed', error: err.message });
25
31
 
26
32
  // Domain-specific logging
27
33
  const discoveryLog = logger.domain('discovery');
28
- discoveryLog.info({ msg: 'Job created', jobId: '123' });
34
+ discoveryLog.info('Job created', { jobId: '123' });
29
35
 
30
36
  // Request context logging
31
37
  const reqLog = logger.withContext({
@@ -33,7 +39,7 @@ const reqLog = logger.withContext({
33
39
  tenantId: 'tenant-1',
34
40
  domain: 'discovery',
35
41
  });
36
- reqLog.info({ msg: 'Processing request' });
42
+ reqLog.info('Processing request');
37
43
  ```
38
44
 
39
45
  ## CloudWatch Insights Queries
@@ -97,6 +103,30 @@ Pretty output (development):
97
103
  10:30:00 Z [api-gateway:discovery] abc-123 Job created
98
104
  ```
99
105
 
106
+ ## Error Logging Best Practices
107
+
108
+ Always use `{ err: errorObject }` when logging errors:
109
+
110
+ ```typescript
111
+ try {
112
+ await someOperation();
113
+ } catch (error) {
114
+ // ✅ Correct - pino serializes the full error
115
+ logger.error('Operation failed', { err: error });
116
+
117
+ // ❌ Bad - loses error type, stack, and custom properties
118
+ logger.error('Operation failed', { error: error.message });
119
+ logger.error('Operation failed', { error: error.message, stack: error.stack });
120
+ }
121
+ ```
122
+
123
+ Pino's error serializer captures:
124
+
125
+ - Error name/type (e.g., `TypeError`, `ValidationError`)
126
+ - Error message
127
+ - Stack trace
128
+ - Custom error properties
129
+
100
130
  ## Available Domains
101
131
 
102
132
  - `discovery` - Discovery scanning
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { Logger as PinoLogger } from 'pino';
2
1
  /**
3
2
  * Service names for ArivLabs services
4
3
  */
@@ -21,13 +20,53 @@ export interface LoggerConfig {
21
20
  pretty?: boolean;
22
21
  }
23
22
  /**
24
- * Extended logger interface with domain support
23
+ * Log data object
24
+ * Use `err` property for Error objects - pino will serialize them properly
25
+ *
26
+ * @example
27
+ * logger.error('Request failed', { err: error }); // Correct - uses pino's error serializer
28
+ * logger.error('Request failed', { error: err.message }); // Bad - loses error type/stack
29
+ */
30
+ export type LogData = Record<string, unknown> & {
31
+ /** Pass Error objects here for proper serialization (type, message, stack, custom props) */
32
+ err?: Error | unknown;
33
+ };
34
+ /**
35
+ * Flexible log method signature supporting multiple calling conventions
36
+ */
37
+ export interface FlexibleLogFn {
38
+ (msg: string, data?: LogData): void;
39
+ (obj: LogData & {
40
+ msg?: string;
41
+ }): void;
42
+ (obj: LogData, msg?: string): void;
43
+ }
44
+ /**
45
+ * Extended logger interface with domain support and flexible API
25
46
  */
26
- export interface ArivLogger extends PinoLogger {
47
+ export interface ArivLogger {
48
+ /** Log at trace level */
49
+ trace: FlexibleLogFn;
50
+ /** Log at debug level */
51
+ debug: FlexibleLogFn;
52
+ /** Log at info level */
53
+ info: FlexibleLogFn;
54
+ /** Log at warn level */
55
+ warn: FlexibleLogFn;
56
+ /** Log at error level */
57
+ error: FlexibleLogFn;
58
+ /** Log at fatal level */
59
+ fatal: FlexibleLogFn;
27
60
  /** Create a child logger for a specific domain */
28
- domain: (domain: LogDomain) => PinoLogger;
61
+ domain: (domain: LogDomain) => ArivLogger;
29
62
  /** Create a child logger with request context */
30
- withContext: (context: RequestContext) => PinoLogger;
63
+ withContext: (context: RequestContext) => ArivLogger;
64
+ /** Create a child logger with additional bindings */
65
+ child: (bindings: LogData) => ArivLogger;
66
+ /** Check if level is enabled */
67
+ isLevelEnabled: (level: string) => boolean;
68
+ /** Current log level */
69
+ level: string;
31
70
  }
32
71
  /**
33
72
  * Request context for correlation
@@ -41,18 +80,29 @@ export interface RequestContext {
41
80
  /**
42
81
  * Create a structured logger for an ArivLabs service
43
82
  *
83
+ * Supports flexible calling conventions:
84
+ * - Intuitive style: `logger.info('Message', { key: value })`
85
+ * - Pino native style: `logger.info({ msg: 'Message', key: value })`
86
+ *
44
87
  * @example
45
88
  * ```typescript
46
89
  * import { createLogger } from '@arivlabs/logger';
47
90
  *
48
91
  * const logger = createLogger({ service: 'api-gateway' });
49
92
  *
50
- * // Basic logging
93
+ * // Basic logging (intuitive style - recommended)
94
+ * logger.info('Server started', { port: 3000 });
95
+ *
96
+ * // Error logging - use { err } for proper serialization
97
+ * logger.error('Request failed', { err: error }); // ✅ Correct
98
+ * logger.error('Request failed', { error: err.message }); // ❌ Bad - loses info
99
+ *
100
+ * // Also works: pino native style
51
101
  * logger.info({ msg: 'Server started', port: 3000 });
52
102
  *
53
103
  * // Domain-specific logging
54
104
  * const discoveryLog = logger.domain('discovery');
55
- * discoveryLog.info({ msg: 'Job created', jobId: '123' });
105
+ * discoveryLog.info('Job created', { jobId: '123' });
56
106
  *
57
107
  * // Request context logging
58
108
  * const reqLog = logger.withContext({
@@ -60,7 +110,7 @@ export interface RequestContext {
60
110
  * tenantId: 'tenant-1',
61
111
  * domain: 'discovery'
62
112
  * });
63
- * reqLog.info({ msg: 'Processing request' });
113
+ * reqLog.info('Processing request');
64
114
  * ```
65
115
  *
66
116
  * CloudWatch Insights queries:
@@ -74,11 +124,11 @@ export declare function createLogger(config: LoggerConfig): ArivLogger;
74
124
  * Create a domain-specific child logger
75
125
  * @deprecated Use logger.domain() instead
76
126
  */
77
- export declare function createDomainLogger(logger: PinoLogger, domain: LogDomain): PinoLogger;
127
+ export declare function createDomainLogger(logger: ArivLogger, domain: LogDomain): ArivLogger;
78
128
  /**
79
129
  * Create a child logger with request context
80
130
  * @deprecated Use logger.withContext() instead
81
131
  */
82
- export declare function createRequestLogger(logger: PinoLogger, domain: LogDomain, correlationId: string, userId?: string, tenantId?: string): PinoLogger;
132
+ export declare function createRequestLogger(logger: ArivLogger, domain: LogDomain, correlationId: string, userId?: string, tenantId?: string): ArivLogger;
83
133
  export type { Logger as PinoLogger } from 'pino';
84
134
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAiB,MAAM,MAAM,CAAC;AAGhE;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,eAAe,GACf,0BAA0B,GAC1B,sBAAsB,GACtB,mBAAmB,GACnB,UAAU,GACV,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,MAAM,GACN,YAAY,GACZ,WAAW,GACX,SAAS,GACT,YAAY,GACZ,OAAO,GACP,OAAO,GACP,WAAW,GACX,UAAU,GACV,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,OAAO,EAAE,WAAW,GAAG,MAAM,CAAC;IAC9B,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,kDAAkD;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,UAAU,CAAC;IAC1C,iDAAiD;IACjD,WAAW,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CA2D7D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,UAAU,CAEpF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CAOZ;AAGD,YAAY,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,21 +7,86 @@ exports.createLogger = createLogger;
7
7
  exports.createDomainLogger = createDomainLogger;
8
8
  exports.createRequestLogger = createRequestLogger;
9
9
  const pino_1 = __importDefault(require("pino"));
10
+ /**
11
+ * Wrap a pino log method to support flexible calling conventions
12
+ */
13
+ function wrapLogMethod(pinoLogger, level) {
14
+ return function (msgOrObj, dataOrMsg) {
15
+ if (typeof msgOrObj === 'string') {
16
+ // Called as: logger.info('message') or logger.info('message', { data })
17
+ if (dataOrMsg && typeof dataOrMsg === 'object') {
18
+ pinoLogger[level](dataOrMsg, msgOrObj);
19
+ }
20
+ else {
21
+ pinoLogger[level](msgOrObj);
22
+ }
23
+ }
24
+ else {
25
+ // Called as: logger.info({ msg: 'message', data }) or logger.info({ data }, 'message')
26
+ if (typeof dataOrMsg === 'string') {
27
+ pinoLogger[level](msgOrObj, dataOrMsg);
28
+ }
29
+ else {
30
+ pinoLogger[level](msgOrObj);
31
+ }
32
+ }
33
+ };
34
+ }
35
+ /**
36
+ * Wrap a pino logger with flexible API
37
+ */
38
+ function wrapLogger(pinoLogger) {
39
+ const wrapped = {
40
+ trace: wrapLogMethod(pinoLogger, 'trace'),
41
+ debug: wrapLogMethod(pinoLogger, 'debug'),
42
+ info: wrapLogMethod(pinoLogger, 'info'),
43
+ warn: wrapLogMethod(pinoLogger, 'warn'),
44
+ error: wrapLogMethod(pinoLogger, 'error'),
45
+ fatal: wrapLogMethod(pinoLogger, 'fatal'),
46
+ domain: (domain) => wrapLogger(pinoLogger.child({ domain })),
47
+ withContext: (context) => wrapLogger(pinoLogger.child({
48
+ domain: context.domain,
49
+ correlation_id: context.correlationId,
50
+ user_id: context.userId,
51
+ tenant_id: context.tenantId,
52
+ })),
53
+ child: (bindings) => wrapLogger(pinoLogger.child(bindings)),
54
+ isLevelEnabled: (level) => pinoLogger.isLevelEnabled(level),
55
+ get level() {
56
+ return pinoLogger.level;
57
+ },
58
+ set level(lvl) {
59
+ pinoLogger.level = lvl;
60
+ },
61
+ };
62
+ return wrapped;
63
+ }
10
64
  /**
11
65
  * Create a structured logger for an ArivLabs service
12
66
  *
67
+ * Supports flexible calling conventions:
68
+ * - Intuitive style: `logger.info('Message', { key: value })`
69
+ * - Pino native style: `logger.info({ msg: 'Message', key: value })`
70
+ *
13
71
  * @example
14
72
  * ```typescript
15
73
  * import { createLogger } from '@arivlabs/logger';
16
74
  *
17
75
  * const logger = createLogger({ service: 'api-gateway' });
18
76
  *
19
- * // Basic logging
77
+ * // Basic logging (intuitive style - recommended)
78
+ * logger.info('Server started', { port: 3000 });
79
+ *
80
+ * // Error logging - use { err } for proper serialization
81
+ * logger.error('Request failed', { err: error }); // ✅ Correct
82
+ * logger.error('Request failed', { error: err.message }); // ❌ Bad - loses info
83
+ *
84
+ * // Also works: pino native style
20
85
  * logger.info({ msg: 'Server started', port: 3000 });
21
86
  *
22
87
  * // Domain-specific logging
23
88
  * const discoveryLog = logger.domain('discovery');
24
- * discoveryLog.info({ msg: 'Job created', jobId: '123' });
89
+ * discoveryLog.info('Job created', { jobId: '123' });
25
90
  *
26
91
  * // Request context logging
27
92
  * const reqLog = logger.withContext({
@@ -29,7 +94,7 @@ const pino_1 = __importDefault(require("pino"));
29
94
  * tenantId: 'tenant-1',
30
95
  * domain: 'discovery'
31
96
  * });
32
- * reqLog.info({ msg: 'Processing request' });
97
+ * reqLog.info('Processing request');
33
98
  * ```
34
99
  *
35
100
  * CloudWatch Insights queries:
@@ -72,38 +137,25 @@ function createLogger(config) {
72
137
  };
73
138
  }
74
139
  const baseLogger = (0, pino_1.default)(pinoOptions);
75
- // Extend with domain and context methods
76
- const logger = baseLogger;
77
- logger.domain = (domain) => {
78
- return baseLogger.child({ domain });
79
- };
80
- logger.withContext = (context) => {
81
- return baseLogger.child({
82
- domain: context.domain,
83
- correlation_id: context.correlationId,
84
- user_id: context.userId,
85
- tenant_id: context.tenantId,
86
- });
87
- };
88
- return logger;
140
+ return wrapLogger(baseLogger);
89
141
  }
90
142
  /**
91
143
  * Create a domain-specific child logger
92
144
  * @deprecated Use logger.domain() instead
93
145
  */
94
146
  function createDomainLogger(logger, domain) {
95
- return logger.child({ domain });
147
+ return logger.domain(domain);
96
148
  }
97
149
  /**
98
150
  * Create a child logger with request context
99
151
  * @deprecated Use logger.withContext() instead
100
152
  */
101
153
  function createRequestLogger(logger, domain, correlationId, userId, tenantId) {
102
- return logger.child({
154
+ return logger.withContext({
103
155
  domain,
104
- correlation_id: correlationId,
105
- user_id: userId,
106
- tenant_id: tenantId,
156
+ correlationId,
157
+ userId,
158
+ tenantId,
107
159
  });
108
160
  }
109
161
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAmGA,oCA2DC;AAMD,gDAEC;AAMD,kDAaC;AAxLD,gDAAwB;AAmExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAgB,YAAY,CAAC,MAAoB;IAC/C,MAAM,aAAa,GACjB,MAAM,CAAC,WAAW,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;IACjF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;IAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC;IAEtE,MAAM,WAAW,GAAkB;QACjC,IAAI,EAAE,MAAM,CAAC,OAAO;QACpB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAElF,oCAAoC;QACpC,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;SAC5F;QAED,kDAAkD;QAClD,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;QAE7D,iCAAiC;QACjC,WAAW,EAAE;YACX,GAAG,EAAE,cAAI,CAAC,cAAc,CAAC,GAAG;YAC5B,GAAG,EAAE,cAAI,CAAC,cAAc,CAAC,GAAG;YAC5B,GAAG,EAAE,cAAI,CAAC,cAAc,CAAC,GAAG;SAC7B;KACF,CAAC;IAEF,sCAAsC;IACtC,IAAI,iBAAiB,EAAE,CAAC;QACtB,WAAW,CAAC,SAAS,GAAG;YACtB,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,YAAY;gBAC3B,MAAM,EAAE,cAAc;gBACtB,aAAa,EAAE,6CAA6C;aAC7D;SACF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC;IAErC,yCAAyC;IACzC,MAAM,MAAM,GAAG,UAAwB,CAAC;IAExC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAiB,EAAE,EAAE;QACpC,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,CAAC,OAAuB,EAAE,EAAE;QAC/C,OAAO,UAAU,CAAC,KAAK,CAAC;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc,EAAE,OAAO,CAAC,aAAa;YACrC,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,SAAS,EAAE,OAAO,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,MAAkB,EAAE,MAAiB;IACtE,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,MAAkB,EAClB,MAAiB,EACjB,aAAqB,EACrB,MAAe,EACf,QAAiB;IAEjB,OAAO,MAAM,CAAC,KAAK,CAAC;QAClB,MAAM;QACN,cAAc,EAAE,aAAa;QAC7B,OAAO,EAAE,MAAM;QACf,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("./index");
4
- // Use the mock from __mocks__ folder
5
- jest.mock('pino');
4
+ // Mock pino module
5
+ jest.mock('pino', () => {
6
+ const createMockLogger = () => ({
7
+ info: jest.fn(),
8
+ error: jest.fn(),
9
+ warn: jest.fn(),
10
+ debug: jest.fn(),
11
+ trace: jest.fn(),
12
+ fatal: jest.fn(),
13
+ child: jest.fn().mockImplementation(() => createMockLogger()),
14
+ isLevelEnabled: jest.fn().mockReturnValue(true),
15
+ level: 'info',
16
+ });
17
+ const pino = jest.fn(() => createMockLogger());
18
+ pino.stdSerializers = {
19
+ req: jest.fn(),
20
+ res: jest.fn(),
21
+ err: jest.fn(),
22
+ };
23
+ return { default: pino, __esModule: true };
24
+ });
6
25
  describe('@arivlabs/logger', () => {
7
26
  beforeEach(() => {
8
27
  jest.clearAllMocks();
@@ -15,6 +34,8 @@ describe('@arivlabs/logger', () => {
15
34
  expect(typeof logger.error).toBe('function');
16
35
  expect(typeof logger.warn).toBe('function');
17
36
  expect(typeof logger.debug).toBe('function');
37
+ expect(typeof logger.trace).toBe('function');
38
+ expect(typeof logger.fatal).toBe('function');
18
39
  });
19
40
  it('should accept all valid service names', () => {
20
41
  const services = [
@@ -57,12 +78,41 @@ describe('@arivlabs/logger', () => {
57
78
  expect(logger).toBeDefined();
58
79
  });
59
80
  });
81
+ describe('flexible calling convention', () => {
82
+ it('should support intuitive style: logger.info(message, data)', () => {
83
+ const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
84
+ // Just verify no error is thrown and the method exists
85
+ expect(() => logger.info('Server started', { port: 3000 })).not.toThrow();
86
+ });
87
+ it('should support message-only style: logger.info(message)', () => {
88
+ const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
89
+ expect(() => logger.info('Server started')).not.toThrow();
90
+ });
91
+ it('should support pino native style: logger.info({ msg, data })', () => {
92
+ const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
93
+ expect(() => logger.info({ msg: 'Server started', port: 3000 })).not.toThrow();
94
+ });
95
+ it('should support pino native style with separate message: logger.info(data, message)', () => {
96
+ const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
97
+ expect(() => logger.info({ port: 3000 }, 'Server started')).not.toThrow();
98
+ });
99
+ it('should work for all log levels', () => {
100
+ const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
101
+ expect(() => logger.trace('Trace message', { data: 1 })).not.toThrow();
102
+ expect(() => logger.debug('Debug message', { data: 2 })).not.toThrow();
103
+ expect(() => logger.info('Info message', { data: 3 })).not.toThrow();
104
+ expect(() => logger.warn('Warn message', { data: 4 })).not.toThrow();
105
+ expect(() => logger.error('Error message', { data: 5 })).not.toThrow();
106
+ expect(() => logger.fatal('Fatal message', { data: 6 })).not.toThrow();
107
+ });
108
+ });
60
109
  describe('logger.domain()', () => {
61
110
  it('should create a child logger with domain', () => {
62
111
  const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
63
112
  const discoveryLogger = logger.domain('discovery');
64
- expect(logger.child).toHaveBeenCalledWith({ domain: 'discovery' });
65
113
  expect(discoveryLogger).toBeDefined();
114
+ expect(typeof discoveryLogger.info).toBe('function');
115
+ expect(typeof discoveryLogger.error).toBe('function');
66
116
  });
67
117
  it('should accept all valid domains', () => {
68
118
  const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
@@ -83,10 +133,16 @@ describe('@arivlabs/logger', () => {
83
133
  'system',
84
134
  ];
85
135
  domains.forEach((domain) => {
86
- logger.domain(domain);
87
- expect(logger.child).toHaveBeenCalledWith({ domain });
136
+ const childLogger = logger.domain(domain);
137
+ expect(childLogger).toBeDefined();
138
+ expect(typeof childLogger.info).toBe('function');
88
139
  });
89
140
  });
141
+ it('should return a wrapped logger supporting flexible calls', () => {
142
+ const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
143
+ const discoveryLogger = logger.domain('discovery');
144
+ expect(() => discoveryLogger.info('Job started', { jobId: '123' })).not.toThrow();
145
+ });
90
146
  });
91
147
  describe('logger.withContext()', () => {
92
148
  it('should create a child logger with full context', () => {
@@ -97,38 +153,28 @@ describe('@arivlabs/logger', () => {
97
153
  tenantId: 'tenant-789',
98
154
  domain: 'discovery',
99
155
  });
100
- expect(logger.child).toHaveBeenCalledWith({
101
- domain: 'discovery',
102
- correlation_id: 'abc-123',
103
- user_id: 'user-456',
104
- tenant_id: 'tenant-789',
105
- });
106
156
  expect(requestLogger).toBeDefined();
157
+ expect(typeof requestLogger.info).toBe('function');
107
158
  });
108
159
  it('should create a child logger with minimal context', () => {
109
160
  const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
110
- logger.withContext({
161
+ const requestLogger = logger.withContext({
111
162
  correlationId: 'abc-123',
112
163
  });
113
- expect(logger.child).toHaveBeenCalledWith({
114
- domain: undefined,
115
- correlation_id: 'abc-123',
116
- user_id: undefined,
117
- tenant_id: undefined,
118
- });
164
+ expect(requestLogger).toBeDefined();
119
165
  });
120
- it('should create a child logger with correlation and tenant only', () => {
166
+ it('should return a wrapped logger supporting flexible calls', () => {
121
167
  const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
122
- logger.withContext({
123
- correlationId: 'abc-123',
124
- tenantId: 'tenant-789',
125
- });
126
- expect(logger.child).toHaveBeenCalledWith({
127
- domain: undefined,
128
- correlation_id: 'abc-123',
129
- user_id: undefined,
130
- tenant_id: 'tenant-789',
131
- });
168
+ const reqLogger = logger.withContext({ correlationId: 'abc-123' });
169
+ expect(() => reqLogger.error('Request failed', { status: 500 })).not.toThrow();
170
+ });
171
+ });
172
+ describe('logger.child()', () => {
173
+ it('should create a child logger with custom bindings', () => {
174
+ const logger = (0, index_1.createLogger)({ service: 'api-gateway' });
175
+ const childLogger = logger.child({ customField: 'value' });
176
+ expect(childLogger).toBeDefined();
177
+ expect(typeof childLogger.info).toBe('function');
132
178
  });
133
179
  });
134
180
  describe('type exports', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arivlabs/logger",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Structured logging for Node.js services with CloudWatch support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,9 +0,0 @@
1
- declare const pino: jest.Mock & {
2
- stdSerializers: {
3
- req: jest.Mock;
4
- res: jest.Mock;
5
- err: jest.Mock;
6
- };
7
- };
8
- export default pino;
9
- //# sourceMappingURL=pino.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pino.d.ts","sourceRoot":"","sources":["../../src/__mocks__/pino.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,IAAI,EAAgC,IAAI,CAAC,IAAI,GAAG;IACpD,cAAc,EAAE;QACd,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;QACf,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;QACf,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;KAChB,CAAC;CACH,CAAC;AAQF,eAAe,IAAI,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const mockChild = jest.fn().mockReturnThis();
4
- const mockLogger = {
5
- info: jest.fn(),
6
- warn: jest.fn(),
7
- error: jest.fn(),
8
- debug: jest.fn(),
9
- fatal: jest.fn(),
10
- trace: jest.fn(),
11
- child: mockChild,
12
- };
13
- const pino = jest.fn(() => mockLogger);
14
- pino.stdSerializers = {
15
- req: jest.fn(),
16
- res: jest.fn(),
17
- err: jest.fn(),
18
- };
19
- exports.default = pino;
20
- //# sourceMappingURL=pino.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pino.js","sourceRoot":"","sources":["../../src/__mocks__/pino.ts"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC;AAE7C,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;IACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;IACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;IAChB,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAMpC,CAAC;AAEF,IAAI,CAAC,cAAc,GAAG;IACpB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;CACf,CAAC;AAEF,kBAAe,IAAI,CAAC"}