Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | 46x 19x 1x 75x 1x 503x 1x 38x 1x 1x 1x 1x 1x 8x 1x 1x 1x 1x 1x 1x 1x 312x | import type { Logger } from './definition.ts';
/**
* A logger implementation that does not emit any log entries regardless of level. Useful for completely disabling
* logging in specific contexts.
*
* @example
*
* ```ts
* import type { Logger } from 'emitnlog/logger';
* import { OFF_LOGGER, withPrefix } from 'emitnlog/logger';
*
* const calculate = (logger?: Logger) => {
* const calculateLogger = withPrefix(logger ?? OFF_LOGGER, 'calculate');
* calculateLogger.i`starting calculation`;
* ...
* };
* ```
*/
export const OFF_LOGGER: Logger = Object.freeze({
level: 'off',
args: () => OFF_LOGGER,
trace: () => void {},
t: () => void {},
debug: () => void {},
d: () => void {},
info: () => void {},
i: () => void {},
notice: () => void {},
n: () => void {},
warning: () => void {},
w: () => void {},
error: () => void {},
e: () => void {},
critical: () => void {},
c: () => void {},
alert: () => void {},
a: () => void {},
emergency: () => void {},
em: () => void {},
log: () => void {},
});
/**
* Returns a non-nullable logger: either the specified logger or the OFF_LOGGER.
*
* @example
*
* ```ts
* import type { Logger } from 'emitnlog/logger';
* import { withLogger, withPrefix } from 'emitnlog/logger';
*
* const calculate = (logger?: Logger) => {
* const calculateLogger = withPrefix(withLogger(logger), 'calculate');
* calculateLogger.i`starting calculation`;
* ...
* };
* ```
*
* @param logger A logger or null or undefined
* @returns Either the specified logger or the OFF_Logger
*/
export const withLogger = (logger: Logger | undefined | null): NonNullable<Logger> => logger ?? OFF_LOGGER;
|