export declare enum LogLevel { all = 0, trace = 10, debug = 20, info = 30, warn = 40, error = 50, fatal = 60, off = 100, } export interface LogItem { level: LogLevel; date?: Date; messages: any[]; } export interface LoggerOption { showDate?: boolean; showFunctionName?: boolean; showLevel?: boolean; showFileName?: boolean; showLineNumber?: boolean; showColumnNumber?: boolean; dateFormat?: string; useLocalBinding?: boolean; } export declare abstract class Logger { protected _level: LogLevel; protected _addons: any[]; private _lastLevel; private _dateFormat; private _table; private readonly _loggableLevels; protected _traceIndex: number; showDate: boolean; showFunctionName: boolean; showLevel: boolean; showFileName: boolean; showLineNumber: boolean; showColumnNumber: boolean; protected _useLocalBinding: boolean; [propName: string]: any; constructor(option?: LoggerOption); abstract _log(item: LogItem): void; protected _prepareAddons(item: LogItem): void; private _getBasedirAndName(filename); private _getLogLevelNames(); setLevel(level: string | LogLevel): void; on(): void; off(): void; }