@eagleoutice/flowr-dev
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
39 lines (38 loc) • 1.54 kB
TypeScript
import { type ILogObj, type ISettingsParam, Logger } from 'tslog';
import type { Options } from 'rotating-file-stream';
export declare const expensiveTrace: (log: Logger<ILogObj> | undefined, supplier: () => string) => void;
export declare class FlowrLogger extends Logger<ILogObj> {
/** by keeping track of all children we can propagate updates of the settings (e.g., in tests) */
private readonly childLoggers;
getSubLogger(settings?: ISettingsParam<ILogObj>, logObj?: ILogObj): Logger<ILogObj>;
updateSettings(updater: (logger: Logger<ILogObj>) => void): void;
/**
* make the logger log to a file as well
*
* Rotation needs the optional `rotating-file-stream` dependency. Without it (the slim runtime images install with
* `--omit=optional`) the log is appended to a single file instead.
*/
logToFile(filename?: string, options?: Options): void;
}
export declare const enum LogLevel {
Silly = 0,
Trace = 1,
Debug = 2,
Info = 3,
Warn = 4,
Error = 5,
Fatal = 6
}
export declare const LogLevelNames: {
readonly silly: LogLevel.Silly;
readonly trace: LogLevel.Trace;
readonly debug: LogLevel.Debug;
readonly info: LogLevel.Info;
readonly warn: LogLevel.Warn;
readonly error: LogLevel.Error;
readonly fatal: LogLevel.Fatal;
};
export type LogLevelName = keyof typeof LogLevelNames;
/** Set the global minimum log level by name. */
export declare function setLogLevel(level: LogLevelName): void;
export declare const log: FlowrLogger;