44require ( '../common' ) ;
55const assert = require ( 'node:assert' ) ;
66const { 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' ) ;
88const { 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
5858describe ( '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', () => {
133133describe ( '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