import { LeveledLogEntry, LeveledLogEntryWithoutScope, LogEntry, LogEntryWithoutScope, Logger } from '.'; /** * Default scope key for the Abstract Logger */ export declare const AbstractLoggerScope = "@sensenet/client-utils/AbstractLogger"; /** * Abstract logger instance */ export declare abstract class AbstractLogger implements Logger { /** * Adds a new log entry to the logger * @param entry The Log entry object */ abstract addEntry(entry: LeveledLogEntry, isVerbose?: boolean): Promise; private addEntryInternal; /** * Adds a Verbose level log entry. Verbose is the noisiest level, rarely (if ever) enabled for a production app. * @param entry The Log entry */ verbose(entry: LogEntry): Promise; /** * Adds a Debug level log entry. Debug is used for internal system events that are not necessarily observable from the outside, but useful when determining how something happened. * @param entry The Log entry */ debug(entry: LogEntry): Promise; /** * Adds an Information level log entry. Information events describe things happening in the system that correspond to its responsibilities and functions. Generally these are the observable actions the system can perform. * @param entry The Log entry */ information(entry: LogEntry): Promise; /** * Adds a Warning level log entry. When service is degraded, endangered, or may be behaving outside of its expected parameters, Warning level events are used. * @param entry The Log entry */ warning(entry: LogEntry): Promise; /** * Adds an Error level log entry. When functionality is unavailable or expectations broken, an Error event is used. * @param entry The Log entry */ error(entry: LogEntry): Promise; /** * Adds a Fatal level log entry. The most critical level, Fatal events demand immediate attention. * @param entry The Log entry */ fatal(entry: LogEntry): Promise; /** * Returns an object that contains shortcuts to the original logger that contains the provided scope. * usage example: * ```ts * const scopedLogger = myLogger.withScope("myLogScope") * scopedLogger.information({message: "foo"}) // will add an information entry with the provided scope * ``` */ withScope: (scope: string) => { /** * Adds a custom log entry */ addEntry: (entry: LeveledLogEntry) => Promise; /** * Adds a Verbose log entry. Verbose is the noisiest level, rarely (if ever) enabled for a production app. */ verbose: (entry: LogEntry) => Promise; /** * Adds a debug log entry. Debug is used for internal system events that are not necessarily observable from the outside, but useful when determining how something happened. */ debug: (entry: LogEntry) => Promise; /** * Adds an Information log entry. Information events describe things happening in the system that correspond to its responsibilities and functions. Generally these are the observable actions the system can perform. */ information: (entry: LogEntry) => Promise; /** * Adds a Warning log entry. When service is degraded, endangered, or may be behaving outside of its expected parameters, Warning level events are used. */ warning: (entry: LogEntry) => Promise; /** * Adds an Error log entry. When functionality is unavailable or expectations broken, an Error event is used. */ error: (entry: LogEntry) => Promise; /** * Adds a Fatal log entry. The most critical level, Fatal events demand immediate attention. */ fatal: (entry: LogEntry) => Promise; }; } //# sourceMappingURL=abstract-logger.d.ts.map