/** * This API will be used to log messages for the purpose of debugging. */ export interface LoggerAPI { /** * Log a debug level message. Note that this logging level will not be enabled by * default. Debug logging can be controlled by calling window._loggerController.enableDebug() * and window._loggerController.disableDebug(). *
* Guide to usage: Debug messages should be used to trace events in order * to aid debugging. * @param message the message to be logged. * @param optionalParams additional optional parameters. */ debug(message?: string, ...optionalParams: any[]): void; /** * Log an info level message. Info level logging will be enabled by default, but can * be controlled by calling window._loggerController.enableInfo() * and window._loggerController.disableInfo(). *
* Guide to usage: Info messages should be rarely used. They should * be used only when something important occurs such as lifecycle events on important * components. Perhaps loading and unloading an add-on's iframe are good examples. * @param message the message to be logged. * @param optionalParams additional optional parameters. */ info(message?: string, ...optionalParams: any[]): void; /** * Log a warning level message. *
* Guide to usage: Warning log call should be common in our code, but should * not actually be called often in normal circumstances. They should be used to indicate * that something abnormal, but expected happened. For example, a warning log should occur to * indicate an add-on failing to load. Warnings indicate that something non-ideal happened, but * was handled. Warning logs often occur in exception handlers. * @param message the message to be logged. * @param optionalParams additional optional parameters. */ warn(message?: string, ...optionalParams: any[]): void; /** * Log an error level message. *
* Guide to usage: Error logs indicate that something bad has happened and was * not expected. For example, if the system enters an unexpected state then an error log should * indicate this. Failed precondition checking may also result in an error log if the method * was invoked with invalid parameters and the method semantics are such that this indicates an * invalid call. Error logs are often accompanied by some kind of abortion clean up processing. On * some occasions, clean up processing may also be necessary. * @param message the message to be logged. * @param optionalParams additional optional parameters. */ error(message?: string, ...optionalParams: any[]): void; }