Skip to content

Commit 14205c6

Browse files
committed
refactor logger documentation for clarity and consistency
1 parent 31a3a70 commit 14205c6

File tree

3 files changed

+25
-63
lines changed

3 files changed

+25
-63
lines changed

doc/api/logger.md

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -641,30 +641,6 @@ channels.info.subscribe((record) => {
641641
});
642642
```
643643

644-
## `logger.createLogger([options])`
645-
646-
<!-- YAML
647-
added: REPLACEME
648-
-->
649-
650-
* `options` {Object} Same options as `new Logger(options)`.
651-
* Returns: {Logger}
652-
653-
Convenience function to create a new `Logger` instance.
654-
655-
```js
656-
const { createLogger } = require('node:logger');
657-
658-
const logger = createLogger({ level: 'debug' });
659-
```
660-
661-
## Aliases
662-
663-
For convenience, the following aliases are provided:
664-
665-
* `Handler` - Alias for `LogConsumer`
666-
* `JSONHandler` - Alias for `JSONConsumer`
667-
668644
## Examples
669645

670646
### Basic usage

lib/logger.js

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -572,26 +572,12 @@ class Logger {
572572
}
573573
}
574574

575-
/**
576-
* Create a logger instance (convenience method)
577-
* @param {object} [options]
578-
* @param {string} [options.level] - Minimum log level (default: 'info')
579-
* @param {object} [options.bindings] - Context fields (default: {})
580-
* @returns {Logger}
581-
*/
582-
function createLogger(options) {
583-
return new Logger(options);
584-
}
585-
586575
module.exports = {
587576
__proto__: null,
588577
Logger,
589578
LogConsumer,
590579
JSONConsumer,
591580
LEVELS,
592581
channels,
593-
createLogger,
594582
stdSerializers,
595-
Handler: LogConsumer,
596-
JSONHandler: JSONConsumer,
597583
};

test/parallel/test-log-basic.js

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
require('../common');
55
const assert = require('node:assert');
66
const { describe, it } = require('node:test');
7-
const { createLogger, Logger, LogConsumer, JSONConsumer, LEVELS, channels } = require('node:logger');
7+
const { Logger, LogConsumer, JSONConsumer, LEVELS, channels } = require('node:logger');
88
const { Writable } = require('node:stream');
99

1010
// Test helper to capture log output
@@ -48,17 +48,17 @@ describe('LEVELS constant', () => {
4848
});
4949
});
5050

51-
describe('createLogger', () => {
52-
it('should return a Logger instance', () => {
53-
const logger = createLogger();
51+
describe('Logger constructor', () => {
52+
it('should create a Logger instance', () => {
53+
const logger = new Logger();
5454
assert(logger instanceof Logger);
5555
});
5656
});
5757

5858
describe('Logger', () => {
5959
describe('methods', () => {
6060
it('should have all log methods', () => {
61-
const logger = createLogger();
61+
const logger = new Logger();
6262
assert.strictEqual(typeof logger.trace, 'function');
6363
assert.strictEqual(typeof logger.debug, 'function');
6464
assert.strictEqual(typeof logger.info, 'function');
@@ -72,7 +72,7 @@ describe('Logger', () => {
7272

7373
describe('level filtering', () => {
7474
it('should filter logs based on configured level', () => {
75-
const logger = createLogger({ level: 'warn' });
75+
const logger = new Logger({ level: 'warn' });
7676
assert.strictEqual(logger.enabled('trace'), false);
7777
assert.strictEqual(logger.enabled('debug'), false);
7878
assert.strictEqual(logger.enabled('info'), false);
@@ -84,7 +84,7 @@ describe('Logger', () => {
8484

8585
describe('msg field validation', () => {
8686
it('should throw when object is missing msg field', () => {
87-
const logger = createLogger();
87+
const logger = new Logger();
8888
assert.throws(() => {
8989
logger.info({ userId: 123 }); // Missing msg
9090
}, {
@@ -93,7 +93,7 @@ describe('Logger', () => {
9393
});
9494

9595
it('should throw when msg is not a string', () => {
96-
const logger = createLogger();
96+
const logger = new Logger();
9797
assert.throws(() => {
9898
logger.info({ msg: 123 }); // msg is not a string
9999
}, {
@@ -102,7 +102,7 @@ describe('Logger', () => {
102102
});
103103

104104
it('should accept string message without second argument', () => {
105-
const logger = createLogger();
105+
const logger = new Logger();
106106
// Should not throw
107107
logger.info('just a message');
108108
});
@@ -111,7 +111,7 @@ describe('Logger', () => {
111111
describe('invalid level', () => {
112112
it('should throw for invalid log level', () => {
113113
assert.throws(() => {
114-
createLogger({ level: 'invalid' });
114+
new Logger({ level: 'invalid' });
115115
}, {
116116
code: 'ERR_INVALID_ARG_VALUE',
117117
});
@@ -120,7 +120,7 @@ describe('Logger', () => {
120120

121121
describe('invalid fields argument', () => {
122122
it('should throw when fields is not an object', () => {
123-
const logger = createLogger();
123+
const logger = new Logger();
124124
assert.throws(() => {
125125
logger.info('message', 'not an object');
126126
}, {
@@ -133,7 +133,7 @@ describe('Logger', () => {
133133
describe('child logger', () => {
134134
describe('context inheritance', () => {
135135
it('should create a new Logger instance with inherited level', () => {
136-
const logger = createLogger({ level: 'info' });
136+
const logger = new Logger({ level: 'info' });
137137
const childLogger = logger.child({ requestId: 'abc-123' });
138138

139139
assert(childLogger instanceof Logger);
@@ -143,7 +143,7 @@ describe('child logger', () => {
143143
});
144144

145145
it('should support nested child loggers', () => {
146-
const logger = createLogger({ level: 'info' });
146+
const logger = new Logger({ level: 'info' });
147147
const childLogger = logger.child({ requestId: 'abc-123' });
148148
const grandchildLogger = childLogger.child({ operation: 'query' });
149149

@@ -154,7 +154,7 @@ describe('child logger', () => {
154154

155155
describe('level override', () => {
156156
it('should allow overriding log level in child logger', () => {
157-
const logger = createLogger({ level: 'info' });
157+
const logger = new Logger({ level: 'info' });
158158
const childLogger = logger.child({ requestId: 'abc' }, { level: 'debug' });
159159

160160
assert.strictEqual(logger.enabled('debug'), false);
@@ -168,7 +168,7 @@ describe('child logger', () => {
168168
const consumer = new JSONConsumer({ stream, level: 'info' });
169169
consumer.attach();
170170

171-
const logger = createLogger({ level: 'info' });
171+
const logger = new Logger({ level: 'info' });
172172
const childLogger = logger.child({ requestId: 'xyz-789' });
173173

174174
childLogger.info({ msg: 'child log', action: 'create' });
@@ -192,7 +192,7 @@ describe('child logger', () => {
192192
});
193193
consumer.attach();
194194

195-
const logger = createLogger({ level: 'info' });
195+
const logger = new Logger({ level: 'info' });
196196
const childLogger = logger.child({ requestId: '123' });
197197

198198
childLogger.info('request processed', { duration: 150 });
@@ -217,7 +217,7 @@ describe('child logger', () => {
217217
});
218218
consumer.attach();
219219

220-
const logger = createLogger({ level: 'info' });
220+
const logger = new Logger({ level: 'info' });
221221
const childLogger = logger.child({ env: 'staging' });
222222

223223
childLogger.info('test', { env: 'production' });
@@ -253,7 +253,7 @@ describe('LogConsumer', () => {
253253

254254
const consumer = new TestConsumer({ level: 'warn' });
255255
consumer.attach();
256-
const logger = createLogger({ level: 'warn' });
256+
const logger = new Logger({ level: 'warn' });
257257

258258
// This should be skipped (info < warn)
259259
logger.info({ msg: 'skipped' });
@@ -271,7 +271,7 @@ describe('JSONConsumer', () => {
271271
const stream = new TestStream();
272272
const consumer = new JSONConsumer({ stream, level: 'info' });
273273
consumer.attach();
274-
const logger = createLogger({ level: 'info' });
274+
const logger = new Logger({ level: 'info' });
275275

276276
logger.info({ msg: 'test message', userId: 123 });
277277
consumer.flushSync();
@@ -294,7 +294,7 @@ describe('JSONConsumer', () => {
294294
fields: { hostname: 'test-host', pid: 12345 },
295295
});
296296
consumer.attach();
297-
const logger = createLogger({ level: 'info' });
297+
const logger = new Logger({ level: 'info' });
298298

299299
logger.info({ msg: 'with fields' });
300300
consumer.flushSync();
@@ -312,7 +312,7 @@ describe('JSONConsumer', () => {
312312
const stream = new TestStream();
313313
const consumer = new JSONConsumer({ stream, level: 'info' });
314314
consumer.attach();
315-
const logger = createLogger({ level: 'info' });
315+
const logger = new Logger({ level: 'info' });
316316

317317
logger.info('simple message');
318318
consumer.flushSync();
@@ -327,7 +327,7 @@ describe('JSONConsumer', () => {
327327
const stream = new TestStream();
328328
const consumer = new JSONConsumer({ stream, level: 'info' });
329329
consumer.attach();
330-
const logger = createLogger({ level: 'info' });
330+
const logger = new Logger({ level: 'info' });
331331

332332
logger.info('user login', { userId: 123, ip: '127.0.0.1' });
333333
consumer.flushSync();
@@ -347,7 +347,7 @@ describe('Error serialization', () => {
347347
const stream = new TestStream();
348348
const consumer = new JSONConsumer({ stream, level: 'info' });
349349
consumer.attach();
350-
const logger = createLogger({ level: 'info' });
350+
const logger = new Logger({ level: 'info' });
351351

352352
const err = new Error('test error');
353353
err.code = 'TEST_ERROR';
@@ -369,7 +369,7 @@ describe('Error serialization', () => {
369369
const stream = new TestStream();
370370
const consumer = new JSONConsumer({ stream, level: 'info' });
371371
consumer.attach();
372-
const logger = createLogger({ level: 'info' });
372+
const logger = new Logger({ level: 'info' });
373373

374374
const err = new Error('boom');
375375
logger.error(err);
@@ -440,7 +440,7 @@ describe('multiple consumers', () => {
440440
const consumer2 = new JSONConsumer({ stream: stream2, level: 'warn' });
441441
consumer2.attach();
442442

443-
const logger = createLogger({ level: 'debug' });
443+
const logger = new Logger({ level: 'debug' });
444444

445445
logger.debug({ msg: 'debug message' });
446446
logger.info({ msg: 'info message' });

0 commit comments

Comments
 (0)