@@ -278,8 +278,7 @@ added: REPLACEME
278278Each log method (` trace ` , ` debug ` , ` info ` , ` warn ` , ` error ` , ` fatal ` ) has an
279279` enabled ` property that indicates whether that level is enabled for this logger.
280280
281- This is the recommended way to check if a level is enabled before performing
282- expensive computations:
281+ Use this to check if a level is enabled before performing expensive computations:
283282
284283``` js
285284if (logger .debug .enabled ) {
@@ -291,28 +290,12 @@ if (logger.debug.enabled) {
291290// logger.debg.enabled → TypeError: Cannot read properties of undefined
292291```
293292
294- ### ` logger.enabled(level) `
295-
296- <!-- YAML
297- added: REPLACEME
298- -->
299-
300- * ` level ` {string} The log level to check.
301- * Returns: {boolean} ` true ` if the level is enabled, ` false ` otherwise.
302-
303- Checks if a specific log level is enabled for this logger. For most use cases,
304- prefer using [ ` logger.<level>.enabled ` ] [ ] instead, as it catches typos at
305- runtime.
293+ For dynamic level checks, use property access:
306294
307295``` js
308- // Prefer this:
309- if (logger .debug .enabled ) {
310- logger .debug (' message' );
311- }
312-
313- // Over this (typos won't throw):
314- if (logger .enabled (' debug' )) {
315- logger .debug (' message' );
296+ const level = config .logLevel ; // 'info', 'debug', etc.
297+ if (logger[level]? .enabled ) {
298+ logger[level](' Dynamic log message' );
316299}
317300` ` `
318301
@@ -351,32 +334,29 @@ consumer.attach();
351334// Consumer now receives all log records at 'info' level and above
352335` ` `
353336
354- ### ` consumer.enabled( level) `
337+ ### ` consumer.< level> . enabled `
355338
356339<!-- YAML
357340added: REPLACEME
358341-->
359342
360- * ` level ` {string} The log level to check (e.g., ` 'debug' ` , ` 'info' ` , ` 'warn' ` ,
361- ` 'error' ` , ` 'fatal' ` ).
362- * Returns: {boolean} ` true ` if the level is enabled, ` false ` otherwise.
363-
364- Checks if a specific log level is enabled for this consumer.
343+ * {boolean} ` true ` if the level is enabled, ` false ` otherwise.
365344
366- This method returns ` false ` for unknown log levels without throwing an error.
367- Log levels are case-sensitive and must be one of the predefined levels:
368- ` 'trace' ` , ` 'debug' ` , ` 'info' ` , ` 'warn' ` , ` 'error' ` , ` 'fatal' ` .
345+ Each log level ( ` trace ` , ` debug ` , ` info ` , ` warn ` , ` error ` , ` fatal ` ) has an
346+ ` enabled ` property that indicates whether that level is enabled for this
347+ consumer .
369348
370349` ` ` js
371350const { LogConsumer } = require (' node:logger' );
372351
373352const consumer = new LogConsumer ({ level: ' info' });
374353
375- console .log (consumer .enabled (' debug' )); // false (below threshold)
376- console .log (consumer .enabled (' info' )); // true
377- console .log (consumer .enabled (' error' )); // true
378- console .log (consumer .enabled (' DEBUG' )); // false (unknown level - case sensitive)
379- console .log (consumer .enabled (' unknown' )); // false (unknown level)
354+ console .log (consumer .debug .enabled ); // false (below threshold)
355+ console .log (consumer .info .enabled ); // true
356+ console .log (consumer .error .enabled ); // true
357+
358+ // Typos will throw a TypeError (safer than silent failure)
359+ // consumer.debg.enabled → TypeError: Cannot read properties of undefined
380360` ` `
381361
382362### ` consumer .handle (record)`
0 commit comments