@lorefnon/tslog
Version:
Extensible TypeScript Logger for Node.js and Browser.
44 lines (43 loc) • 1.83 kB
TypeScript
import { ISettingsParam, ISettings, ILogObjMeta } from "./interfaces.js";
import Runtime from "./runtime/nodejs/index.js";
export * from "./interfaces.js";
export { Runtime };
export declare class BaseLogger<LogObj> {
private logObj?;
private stackDepthLevel;
private readonly runtime;
settings: ISettings<LogObj>;
constructor(settings?: ISettingsParam<LogObj>, logObj?: LogObj | undefined, stackDepthLevel?: number);
/**
* Logs a message with a custom log level.
* @param logLevelId - Log level ID e.g. 0
* @param logLevelName - Log level name e.g. silly
* @param args - Multiple log attributes that should be logged out.
* @return LogObject with meta property, when log level is >= minLevel
*/
log(logLevelId: number, logLevelName: string, ...args: unknown[]): (LogObj & ILogObjMeta) | undefined;
/**
* Attaches external Loggers, e.g. external log services, file system, database
*
* @param transportLogger - External logger to be attached. Must implement all log methods.
*/
attachTransport(transportLogger: (transportLogger: LogObj & ILogObjMeta) => void): void;
/**
* Returns a child logger based on the current instance with inherited settings
*
* @param settings - Overwrite settings inherited from parent logger
* @param logObj - Overwrite logObj for sub-logger
*/
getSubLogger(settings?: ISettingsParam<LogObj>, logObj?: LogObj): BaseLogger<LogObj>;
private _mask;
private _recursiveCloneAndMaskValuesOfKeys;
private _recursiveCloneAndExecuteFunctions;
private isObjectOrArray;
private isObject;
private shallowCopy;
private _toLogObj;
private _cloneError;
private _toErrorObject;
private _addMetaToLogObj;
private _prettyFormatLogObjMeta;
}