@neodx/log
Version:
A lightweight universal logging framework
64 lines (60 loc) • 1.78 kB
TypeScript
import {
h as LoggerLevelsConfig,
k as LoggerParamsWithLevels,
C as CreateLogger,
G as GetLevelNames
} from './types-BxgckgWg.js';
import { L as LogArguments } from './read-arguments-Bkk-Ifkg.js';
interface CreateLoggerFactoryParams<Levels extends LoggerLevelsConfig<string>> {
defaultParams: LoggerParamsWithLevels<Levels>;
readArguments(args: unknown[]): LogArguments;
/**
* Formats a message template with replaces.
* @default Our lightweight implementation with %s, %d, %i, %f, %j/%o/%O (same output as %j) support
* @example (template, replaces) => util.format(template, ...replaces) // Node.js util.format
*/
formatMessage(template: string, replaces: unknown[]): string;
}
declare function createLoggerFactory<LevelsConfig extends LoggerLevelsConfig<string>>({
defaultParams,
formatMessage,
readArguments
}: CreateLoggerFactoryParams<LevelsConfig>): CreateLogger<GetLevelNames<LevelsConfig>>;
type DefaultLoggerLevel = keyof DefaultLoggerLevelsConfig;
type DefaultLoggerLevelsConfig = typeof DEFAULT_LOGGER_LEVELS;
declare const LOGGER_SILENT_LEVEL: 'silent';
declare const DEFAULT_LOGGER_LEVELS: {
error: number;
warn: number;
info: number;
done: number;
debug: number;
success: 'done';
verbose: 'debug';
silent: number;
};
declare const DEFAULT_LOGGER_PARAMS: {
levels: {
error: number;
warn: number;
info: number;
done: number;
debug: number;
success: 'done';
verbose: 'debug';
silent: number;
};
level: 'done';
name: string;
transform: never[];
target: never[];
meta: {};
};
export {
type CreateLoggerFactoryParams as C,
DEFAULT_LOGGER_LEVELS as D,
LOGGER_SILENT_LEVEL as L,
DEFAULT_LOGGER_PARAMS as a,
type DefaultLoggerLevel as b,
createLoggerFactory as c
};