UNPKG

ionic-logging-service

Version:

Logging functionalities for apps built with Ionic framework

82 lines (81 loc) 2.49 kB
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; }