UNPKG

nope-js-node

Version:

NoPE Runtime for Nodejs. For Browser-Support please use nope-browser

148 lines (147 loc) 4.77 kB
/** * @author Martin Karkowski * @email m.karkowski@zema.de * @create date 2021-11-11 11:27:44 * @modify date 2021-11-11 11:27:44 * @desc [description] */ import { ILogger, ILoggerOpts } from "js-logger"; export declare const formatMsgForConsole: (message: any, context: any) => any[]; /** * Contains the Valid Types of the Loger. */ export type LoggerLevel = "error" | "warn" | "info" | "debug" | "trace"; /** * Array containg the Valid Types of the Loger. see {@link LoggerLevel} */ export declare const LoggerLevels: string[]; /** * Tests if the Logger is enabled for the level, or extracts the level. * * @param {ILogger} logger The logger * @param {LoggerLevel} [lvl] if provided tests if the lvl matches the logger. otherwise returns the current level * @return {(boolean | LoggerLevel)} */ export declare function enabledFor(logger: ILogger, lvl?: LoggerLevel): boolean | LoggerLevel; /** * Enables the Logger for the desired Level. * * @param {ILogger} logger The logger * @param {LoggerLevel} lvl The level to use * @return {void} */ export declare function enableFor(logger: ILogger, lvl: LoggerLevel): void; /** * Helper to test if the message would be logged. * @param loggerLevel The Level of the logger * @param messageLevel The Level of the Message * @returns */ export declare function shouldLog(loggerLevel: LoggerLevel, messageLevel: LoggerLevel): boolean; /** * The Nope-Logger. It consits o */ export declare class NopeLogger { protected _logger: ILogger; protected _loggers: Map<string, ILogger>; /** * Sets the Level of the logger. Sets all logger to the defined value. * * @author M.Karkowski * @memberof NopeLogger */ set level(value: LoggerLevel); /** * Returns the general logger-level. * * @author M.Karkowski * @type {LoggerLevel} * @memberof NopeLogger */ get level(): LoggerLevel; /** * Helper to readout the level * * @author M.Karkowski * @type {LoggerLevel} * @memberof NopeLogger */ _level: LoggerLevel; /** * Creates a sublogger with the given name and the * level. * * @author M.Karkowski * @param {string} [name=""] The name of the logger * @param {LoggerLevel} [level=this.level] The level of the logger. * @return {ILogger} The Logger * @memberof NopeLogger */ getLogger(name?: string, level?: LoggerLevel): ILogger; /** * Helper function, to update the Logger Defaults. Therefore you should checkout the [description](https://www.npmjs.com/package/js-logger) * * @param {ILoggerOpts} defaults * @memberof NopeLogger */ setDefaults(defaults: ILoggerOpts): void; /** * Rewrites the Stream of the Logger to the * given handler. Watch out, only one handler * is active. * * @param {(msg, context) => void} handler * @memberof NopeLogger */ setHandler(handler: (msg: any, context: any) => void): void; /** * Function to determine the Logger Level * @param loggerGroup The specified group, which should be addressed * @param level The Level to Set */ setLoglevel(loggerGroup: string, level: LoggerLevel): void; /** * Function, to check, whether a specific logger is enabled for logging the given log level * * @author M.Karkowski * @param {string} loggerName Name of the Logger * @param {LoggerLevel} level The Log-Level to Test * @return {boolean} Result of the Test. * @memberof NopeLogger */ isLogging(loggerName: string, level: LoggerLevel): boolean; /** * Creates an instance of NopeLogger. * @author M.Karkowski * @memberof NopeLogger */ constructor(); protected _pw: string; /** * Lock the Logger Level with a password. This prevents chaning the * log level to other log-levels. you must {@link NopeLogger.unlock} to * update the Level again. * * @param {string} pw The Password to Lock the Logger * @memberof NopeLogger */ lock(pw: string): void; /** * Unlock the Logger, therefore the password used for locking is * required. After unlocking, the log-level can be adapted. * * @author M.Karkowski * @param {string} pw The password to unlock the logger * @memberof NopeLogger */ unlock(pw: string): void; /** * Flag indicating, whether the logger is locked or not. * * @author M.Karkowski * @readonly * @type {boolean} * @memberof NopeLogger */ get isLocked(): boolean; }