@arivlabs/logger 1.0.0 → 1.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/CHANGELOG.md +12 -0
- package/README.md +7 -4
- package/dist/index.d.ts +49 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -22
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +75 -29
- package/dist/index.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/__mocks__/pino.d.ts +0 -9
- package/dist/__mocks__/pino.d.ts.map +0 -1
- package/dist/__mocks__/pino.js +0 -20
- package/dist/__mocks__/pino.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,18 @@ 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.1.0] - 2024-12-23
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Flexible calling convention**: Now supports intuitive `logger.info('message', { data })` style in addition to pino's native `logger.info({ msg: 'message', data })` style
|
|
13
|
+
- Better compatibility with common logging patterns (Winston, console.log style)
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Logger methods now accept both calling styles, making migration from other logging libraries easier
|
|
18
|
+
- `domain()` and `withContext()` now return `ArivLogger` instead of `PinoLogger` for consistent API
|
|
19
|
+
|
|
8
20
|
## [1.0.0] - 2024-12-23
|
|
9
21
|
|
|
10
22
|
### Added
|
package/README.md
CHANGED
|
@@ -19,13 +19,16 @@ 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
|
+
logger.error('Something failed', { error: err.message });
|
|
25
|
+
|
|
26
|
+
// Also works: pino native style
|
|
23
27
|
logger.info({ msg: 'Server started', port: 3000 });
|
|
24
|
-
logger.error({ msg: 'Something failed', error: err.message });
|
|
25
28
|
|
|
26
29
|
// Domain-specific logging
|
|
27
30
|
const discoveryLog = logger.domain('discovery');
|
|
28
|
-
discoveryLog.info(
|
|
31
|
+
discoveryLog.info('Job created', { jobId: '123' });
|
|
29
32
|
|
|
30
33
|
// Request context logging
|
|
31
34
|
const reqLog = logger.withContext({
|
|
@@ -33,7 +36,7 @@ const reqLog = logger.withContext({
|
|
|
33
36
|
tenantId: 'tenant-1',
|
|
34
37
|
domain: 'discovery',
|
|
35
38
|
});
|
|
36
|
-
reqLog.info(
|
|
39
|
+
reqLog.info('Processing request');
|
|
37
40
|
```
|
|
38
41
|
|
|
39
42
|
## CloudWatch Insights Queries
|
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,45 @@ export interface LoggerConfig {
|
|
|
21
20
|
pretty?: boolean;
|
|
22
21
|
}
|
|
23
22
|
/**
|
|
24
|
-
*
|
|
23
|
+
* Log data object
|
|
25
24
|
*/
|
|
26
|
-
export
|
|
25
|
+
export type LogData = Record<string, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Flexible log method signature supporting multiple calling conventions
|
|
28
|
+
*/
|
|
29
|
+
export interface FlexibleLogFn {
|
|
30
|
+
(msg: string, data?: LogData): void;
|
|
31
|
+
(obj: LogData & {
|
|
32
|
+
msg?: string;
|
|
33
|
+
}): void;
|
|
34
|
+
(obj: LogData, msg?: string): void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Extended logger interface with domain support and flexible API
|
|
38
|
+
*/
|
|
39
|
+
export interface ArivLogger {
|
|
40
|
+
/** Log at trace level */
|
|
41
|
+
trace: FlexibleLogFn;
|
|
42
|
+
/** Log at debug level */
|
|
43
|
+
debug: FlexibleLogFn;
|
|
44
|
+
/** Log at info level */
|
|
45
|
+
info: FlexibleLogFn;
|
|
46
|
+
/** Log at warn level */
|
|
47
|
+
warn: FlexibleLogFn;
|
|
48
|
+
/** Log at error level */
|
|
49
|
+
error: FlexibleLogFn;
|
|
50
|
+
/** Log at fatal level */
|
|
51
|
+
fatal: FlexibleLogFn;
|
|
27
52
|
/** Create a child logger for a specific domain */
|
|
28
|
-
domain: (domain: LogDomain) =>
|
|
53
|
+
domain: (domain: LogDomain) => ArivLogger;
|
|
29
54
|
/** Create a child logger with request context */
|
|
30
|
-
withContext: (context: RequestContext) =>
|
|
55
|
+
withContext: (context: RequestContext) => ArivLogger;
|
|
56
|
+
/** Create a child logger with additional bindings */
|
|
57
|
+
child: (bindings: LogData) => ArivLogger;
|
|
58
|
+
/** Check if level is enabled */
|
|
59
|
+
isLevelEnabled: (level: string) => boolean;
|
|
60
|
+
/** Current log level */
|
|
61
|
+
level: string;
|
|
31
62
|
}
|
|
32
63
|
/**
|
|
33
64
|
* Request context for correlation
|
|
@@ -41,18 +72,26 @@ export interface RequestContext {
|
|
|
41
72
|
/**
|
|
42
73
|
* Create a structured logger for an ArivLabs service
|
|
43
74
|
*
|
|
75
|
+
* Supports flexible calling conventions:
|
|
76
|
+
* - Intuitive style: `logger.info('Message', { key: value })`
|
|
77
|
+
* - Pino native style: `logger.info({ msg: 'Message', key: value })`
|
|
78
|
+
*
|
|
44
79
|
* @example
|
|
45
80
|
* ```typescript
|
|
46
81
|
* import { createLogger } from '@arivlabs/logger';
|
|
47
82
|
*
|
|
48
83
|
* const logger = createLogger({ service: 'api-gateway' });
|
|
49
84
|
*
|
|
50
|
-
* // Basic logging
|
|
85
|
+
* // Basic logging (intuitive style - recommended)
|
|
86
|
+
* logger.info('Server started', { port: 3000 });
|
|
87
|
+
* logger.error('Request failed', { error: err.message });
|
|
88
|
+
*
|
|
89
|
+
* // Also works: pino native style
|
|
51
90
|
* logger.info({ msg: 'Server started', port: 3000 });
|
|
52
91
|
*
|
|
53
92
|
* // Domain-specific logging
|
|
54
93
|
* const discoveryLog = logger.domain('discovery');
|
|
55
|
-
* discoveryLog.info(
|
|
94
|
+
* discoveryLog.info('Job created', { jobId: '123' });
|
|
56
95
|
*
|
|
57
96
|
* // Request context logging
|
|
58
97
|
* const reqLog = logger.withContext({
|
|
@@ -60,7 +99,7 @@ export interface RequestContext {
|
|
|
60
99
|
* tenantId: 'tenant-1',
|
|
61
100
|
* domain: 'discovery'
|
|
62
101
|
* });
|
|
63
|
-
* reqLog.info(
|
|
102
|
+
* reqLog.info('Processing request');
|
|
64
103
|
* ```
|
|
65
104
|
*
|
|
66
105
|
* CloudWatch Insights queries:
|
|
@@ -74,11 +113,11 @@ export declare function createLogger(config: LoggerConfig): ArivLogger;
|
|
|
74
113
|
* Create a domain-specific child logger
|
|
75
114
|
* @deprecated Use logger.domain() instead
|
|
76
115
|
*/
|
|
77
|
-
export declare function createDomainLogger(logger:
|
|
116
|
+
export declare function createDomainLogger(logger: ArivLogger, domain: LogDomain): ArivLogger;
|
|
78
117
|
/**
|
|
79
118
|
* Create a child logger with request context
|
|
80
119
|
* @deprecated Use logger.withContext() instead
|
|
81
120
|
*/
|
|
82
|
-
export declare function createRequestLogger(logger:
|
|
121
|
+
export declare function createRequestLogger(logger: ArivLogger, domain: LogDomain, correlationId: string, userId?: string, tenantId?: string): ArivLogger;
|
|
83
122
|
export type { Logger as PinoLogger } from 'pino';
|
|
84
123
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;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,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,aAAa;IAE5B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEpC,CAAC,GAAG,EAAE,OAAO,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAExC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,wBAAwB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,wBAAwB;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,kDAAkD;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,UAAU,CAAC;IAC1C,iDAAiD;IACjD,WAAW,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,UAAU,CAAC;IACrD,qDAAqD;IACrD,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,UAAU,CAAC;IACzC,gCAAgC;IAChC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;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;AAgED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CA2C7D;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"}
|
package/dist/index.js
CHANGED
|
@@ -7,21 +7,83 @@ 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
|
+
* logger.error('Request failed', { error: err.message });
|
|
80
|
+
*
|
|
81
|
+
* // Also works: pino native style
|
|
20
82
|
* logger.info({ msg: 'Server started', port: 3000 });
|
|
21
83
|
*
|
|
22
84
|
* // Domain-specific logging
|
|
23
85
|
* const discoveryLog = logger.domain('discovery');
|
|
24
|
-
* discoveryLog.info(
|
|
86
|
+
* discoveryLog.info('Job created', { jobId: '123' });
|
|
25
87
|
*
|
|
26
88
|
* // Request context logging
|
|
27
89
|
* const reqLog = logger.withContext({
|
|
@@ -29,7 +91,7 @@ const pino_1 = __importDefault(require("pino"));
|
|
|
29
91
|
* tenantId: 'tenant-1',
|
|
30
92
|
* domain: 'discovery'
|
|
31
93
|
* });
|
|
32
|
-
* reqLog.info(
|
|
94
|
+
* reqLog.info('Processing request');
|
|
33
95
|
* ```
|
|
34
96
|
*
|
|
35
97
|
* CloudWatch Insights queries:
|
|
@@ -72,38 +134,25 @@ function createLogger(config) {
|
|
|
72
134
|
};
|
|
73
135
|
}
|
|
74
136
|
const baseLogger = (0, pino_1.default)(pinoOptions);
|
|
75
|
-
|
|
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;
|
|
137
|
+
return wrapLogger(baseLogger);
|
|
89
138
|
}
|
|
90
139
|
/**
|
|
91
140
|
* Create a domain-specific child logger
|
|
92
141
|
* @deprecated Use logger.domain() instead
|
|
93
142
|
*/
|
|
94
143
|
function createDomainLogger(logger, domain) {
|
|
95
|
-
return logger.
|
|
144
|
+
return logger.domain(domain);
|
|
96
145
|
}
|
|
97
146
|
/**
|
|
98
147
|
* Create a child logger with request context
|
|
99
148
|
* @deprecated Use logger.withContext() instead
|
|
100
149
|
*/
|
|
101
150
|
function createRequestLogger(logger, domain, correlationId, userId, tenantId) {
|
|
102
|
-
return logger.
|
|
151
|
+
return logger.withContext({
|
|
103
152
|
domain,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
153
|
+
correlationId,
|
|
154
|
+
userId,
|
|
155
|
+
tenantId,
|
|
107
156
|
});
|
|
108
157
|
}
|
|
109
158
|
//# 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":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.test.js
CHANGED
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const index_1 = require("./index");
|
|
4
|
-
//
|
|
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(
|
|
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(
|
|
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
|
|
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
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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', () => {
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":";;AAAA,mCAA0F;AAE1F,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/dist/__mocks__/pino.d.ts
DELETED
|
@@ -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"}
|
package/dist/__mocks__/pino.js
DELETED
|
@@ -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"}
|