nope-js-node
Version:
NoPE Runtime for Nodejs. For Browser-Support please use nope-browser
148 lines (147 loc) • 4.77 kB
TypeScript
/**
* @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;
}