ionic-logging-service
Version:
Logging functionalities for apps built with Ionic framework
82 lines (81 loc) • 2.49 kB
TypeScript
import * as log4javascript from "log4javascript";
import { LogMessage } from "./log-message.model";
import { MemoryAppenderConfiguration } from "./memory-appender.configuration";
/**
* An appender which stores the log messages in the browser's memory.
*
* The MemoryAppender is enabled by default.
* If you do not specify anything else, it is using this configuration:
*
* ```JSON
* {
* "memoryAppender": [
* {
* "maxMessages": 250,
* "threshold": "ALL"
* }
* }
* ```
*/
export declare class MemoryAppender extends log4javascript.Appender {
private static maxMessagesDefault;
private static thresholdDefault;
private maxMessages;
private logMessages;
private onLogMessagesChangedCallback;
/**
* Creates a new instance of the appender.
*
* @param configuration configuration for the appender.
*/
constructor(configuration?: MemoryAppenderConfiguration);
/**
* Configures the logging depending on the given configuration.
* Only the defined properties get overwritten.
*
* @param configuration configuration data.
*/
configure(configuration: MemoryAppenderConfiguration): void;
/**
* Appender-specific method to append a log message.
*
* @param loggingEvent event to be appended.
*/
append(loggingEvent: log4javascript.LoggingEvent): void;
/**
* Gets the appender's name.
* Mainly for unit testing purposes.
*
* @return appender's name
*/
toString(): string;
/**
* Get the maximum number of messages which will be stored in memory.
*/
getMaxMessages(): number;
/**
* Set the maximum number of messages which will be stored in memory.
*
* If the appender stores currently more messages than the new value allows, the oldest messages get removed.
*
* @param value new maximum number
*/
setMaxMessages(value: number): void;
/**
* Gets all messages stored in memory.
*
* @return stored messages
*/
getLogMessages(): LogMessage[];
/**
* Remove all messages stored in memory.
*/
removeLogMessages(): void;
/**
* Registers a callback which will be called every time a new message is appended.
* This could be useful if you want to show new messages in realtime.
*
* @param callback callback to be called
*/
setOnLogMessagesChangedCallback(callback: (message: LogMessage) => void): void;
}