import { LoggerWatcher } from './logger-watcher'; import { ILoggerServer, LogLevel, rootLoggerName } from './logger-protocol'; export { LogLevel, rootLoggerName }; export declare let logger: ILogger; /** * Counterpart of the `#setRootLogger(ILogger)`. Restores the `console.xxx` bindings to the original one. * Invoking has no side-effect if `setRootLogger` was not called before. Multiple function invocation has * no side-effect either. */ export declare function unsetRootLogger(): void; export declare function setRootLogger(aLogger: ILogger): void; export declare type Log = (message: any, ...params: any[]) => void; export declare type Loggable = (log: Log) => void; export declare const LoggerFactory: unique symbol; export declare type LoggerFactory = (name: string) => ILogger; export declare const LoggerName: unique symbol; export declare const ILogger: unique symbol; export interface ILogger { /** * Set the log level. * * @param loglevel - The loglevel to set. see Logger.LogLevel for * possible options. */ setLogLevel(logLevel: number): Promise; /** * Get the log level. * * @returns a Promise to the log level. */ getLogLevel(): Promise; /** * Test whether the given log level is enabled. */ isEnabled(logLevel: number): Promise; /** * Resolve if the given log is enabled. */ ifEnabled(logLevel: number): Promise; /** * Log a loggable with the given level if it is enabled. */ log(logLevel: number, loggable: Loggable): Promise; /** * Log a message with the given level if it is enabled. * * @param logLevel - The loglevel to use. * @param message - The message format string. * @param params - The format string variables. */ log(logLevel: number, message: any, ...params: any[]): void; /** * Test whether the trace level is enabled. */ isTrace(): Promise; /** * Resolve if the trace level is enabled. */ ifTrace(): Promise; /** * Log a loggable with the trace level if it is enabled. */ trace(loggable: Loggable): Promise; /** * Log a message with the trace level if it is enabled. * * @param message - The message format string. * @param params - The format string variables. */ trace(message: any, ...params: any[]): Promise; /** * Test whether the debug level is enabled. */ isDebug(): Promise; /** * Resolve if the debug level is enabled. */ ifDebug(): Promise; /** * Log a loggable with the debug level if it is enabled. */ debug(loggable: Loggable): Promise; /** * Log a message with the debug level if it is enabled. * * @param message - The message format string. * @param params - The format string variables. */ debug(message: any, ...params: any[]): Promise; /** * Test whether the info level is enabled. */ isInfo(): Promise; /** * Resolve if the info level is enabled. */ ifInfo(): Promise; /** * Log a loggable with the info level if it is enabled. */ info(loggable: Loggable): Promise; /** * Log a message with the info level if it is enabled. * * @param message - The message format string. * @param params - The format string variables. */ info(message: any, ...params: any[]): Promise; /** * Test whether the warn level is enabled. */ isWarn(): Promise; /** * Resolve if the warn level is enabled. */ ifWarn(): Promise; /** * Log a loggable with the warn level if it is enabled. */ warn(loggable: Loggable): Promise; /** * Log a message with the warn level if it is enabled. * * @param message - The message format string. * @param params - The format string variables. */ warn(message: any, ...params: any[]): Promise; /** * Test whether the error level is enabled. */ isError(): Promise; /** * Resolve if the error level is enabled. */ ifError(): Promise; /** * Log a loggable with the error level if it is enabled. */ error(loggable: Loggable): Promise; /** * Log a message with the error level. * * @param message - The message format string. * @param params - The format string variables. */ error(message: any, ...params: any[]): Promise; /** * Test whether the fatal level is enabled. */ isFatal(): Promise; /** * Resolve if the fatal level is enabled. */ ifFatal(): Promise; /** * Log a loggable with the fatal level if it is enabled. */ fatal(loggable: Loggable): Promise; /** * Log a message with the fatal level if it is enabled. * * @param message - The message format string. * @param params - The format string variables. */ fatal(message: any, ...params: any[]): Promise; /** * Create a child logger from this logger. * * @param name - The name of the child logger. */ child(name: string): ILogger; } export declare class Logger implements ILogger { protected readonly server: ILoggerServer; protected readonly loggerWatcher: LoggerWatcher; protected readonly factory: LoggerFactory; protected name: string; protected _logLevel: Promise; protected created: Promise; /** * Build a new Logger. */ constructor(server: ILoggerServer, loggerWatcher: LoggerWatcher, factory: LoggerFactory, name: string); setLogLevel(logLevel: number): Promise; getLogLevel(): Promise; isEnabled(logLevel: number): Promise; ifEnabled(logLevel: number): Promise; log(logLevel: number, arg2: any | Loggable, ...params: any[]): Promise; protected getLog(logLevel: number): Promise; protected format(value: any): any; isTrace(): Promise; ifTrace(): Promise; trace(arg: any | Loggable, ...params: any[]): Promise; isDebug(): Promise; ifDebug(): Promise; debug(arg: any | Loggable, ...params: any[]): Promise; isInfo(): Promise; ifInfo(): Promise; info(arg: any | Loggable, ...params: any[]): Promise; isWarn(): Promise; ifWarn(): Promise; warn(arg: any | Loggable, ...params: any[]): Promise; isError(): Promise; ifError(): Promise; error(arg: any | Loggable, ...params: any[]): Promise; isFatal(): Promise; ifFatal(): Promise; fatal(arg: any | Loggable, ...params: any[]): Promise; child(name: string): ILogger; } //# sourceMappingURL=logger.d.ts.map