UNPKG

@lorefnon/tslog

Version:

Extensible TypeScript Logger for Node.js and Browser.

44 lines (43 loc) 1.83 kB
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; }