import { Config } from './config'; export declare enum LogLevel { ERROR = 0, WARN = 1, INFO = 2, DEBUG = 3, } export declare enum WriteTo { CONSOLE = 0, FILE = 1, BOTH = 2, NONE = 3, } /** * Logger class adds timestamp output, log levels, and identifiers to help * when debugging. Also could write to console, file, both, or none. */ export declare class Logger { private id; static logLevel: LogLevel; static showTimestamp: boolean; static showId: boolean; static writeTo: WriteTo; static fd: any; static firstWrite: boolean; /** * Set up the logging configuration from the protractor configuration file. * @param config The protractor configuration */ static set(config: Config): void; /** * Set up the write location. If writing to a file, get the file descriptor. * @param writeTo The enum for where to write the logs. * @param opt_logFile An optional parameter to override the log file location. */ static setWrite(writeTo: WriteTo, opt_logFile?: string): void; /** * Creates a logger instance with an ID for the logger. * @constructor */ constructor(id: string); /** * Log INFO * @param ...msgs multiple arguments to be logged. */ info(...msgs: any[]): void; /** * Log DEBUG * @param ...msgs multiple arguments to be logged. */ debug(...msgs: any[]): void; /** * Log WARN * @param ...msgs multiple arguments to be logged. */ warn(...msgs: any[]): void; /** * Log ERROR * @param ...msgs multiple arguments to be logged. */ error(...msgs: any[]): void; /** * For the log level set, check to see if the messages should be logged. * @param logLevel The log level of the message. * @param msgs The messages to be logged */ log_(logLevel: LogLevel, msgs: any[]): void; /** * Format with timestamp, log level, identifier, and message and log to * specified medium (console, file, both, none). * @param logLevel The log level of the message. * @param msgs The messages to be logged. */ print_(logLevel: LogLevel, msgs: any[]): void; /** * Get a timestamp formatted with [hh:mm:ss] * @param writeTo The enum for where to write the logs. * @return The string of the formatted timestamp */ static timestamp_(writeTo: WriteTo): string; /** * Get the identifier of the logger as '/' * @param logLevel The log level of the message. * @param writeTo The enum for where to write the logs. * @return The string of the formatted id */ static id_(logLevel: LogLevel, id: string, writeTo: WriteTo): string; /** * Get the log level formatted with the first letter. For info, it is I. * @param logLevel The log level of the message. * @param writeTo The enum for where to write the logs. * @return The string of the formatted log level */ static level_(logLevel: LogLevel, id: string, writeTo: WriteTo): string; /** * Convert the list of messages to a single string message. * @param msgs The list of messages. * @return The string of the formatted messages */ static msgToFile_(msgs: any[]): string; }