@ngworker/lumberjack
Version:
Lumberjack is a versatile Angular logging library, specifically designed to be extended and customized
96 lines (89 loc) • 3.52 kB
TypeScript
import * as i0 from '@angular/core';
import { Provider, InjectionToken } from '@angular/core';
import * as _ngworker_lumberjack from '@ngworker/lumberjack';
import { LumberjackLogDriverConfig, LumberjackLogPayload, LumberjackLogDriver, LumberjackLogDriverLog } from '@ngworker/lumberjack';
/**
* Settings used by the console driver.
*/
type LumberjackConsoleDriverConfig = Omit<LumberjackLogDriverConfig, 'identifier'> & Partial<Pick<LumberjackLogDriverConfig, 'identifier'>>;
/**
* Returns the [dependency-injection providers](https://angular.io/guide/glossary#provider)
*
* for the `LumberjackConsoleDriver` and its `LumberjackConsoleDriverConfig`.
* @usageNotes
*
* The function is useful when you want to bootstrap an application using
* the `bootstrapApplication` function and want to make available the `LumberjackConsoleDriver` providers.
*
* ```typescript
* bootstrapApplication(RootComponent, {
* providers: [
* provideLumberjack({...}),
* provideLumberjackConsoleDriver({...})
* ]
* });
* ```
*
* @publicApi
*/
declare function provideLumberjackConsoleDriver(config?: Partial<LumberjackConsoleDriverConfig>): Provider[];
/**
* Browser console abstraction used by the console driver.
*/
type LumberjackConsole = Pick<Console, 'debug' | 'error' | 'info' | 'trace' | 'warn'>;
/**
* Wraps the browser console abstraction used by the console driver to make it
* overridable in tests or add additional information to console logs.
*/
declare const lumberjackConsoleToken: InjectionToken<LumberjackConsole>;
/**
* The console driver outputs logs to the browser console.
*
* It forwards the formatted log and the optional log payload to the relevant
* method of the browser console API.
*/
declare class LumberjackConsoleDriver<TPayload extends LumberjackLogPayload | void = void> implements LumberjackLogDriver<TPayload> {
#private;
static readonly driverIdentifier = "LumberjackConsoleDriver";
readonly config: _ngworker_lumberjack.LumberjackLogDriverConfig;
/**
* Output console error.
*
* @param param0 The log and its text representation.
*/
logCritical({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void;
/**
* Output console debug message.
*
* @param param0 The log and its text representation.
*/
logDebug({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void;
/**
* Output console error.
*
* @param param0 The log and its text representation.
*/
logError({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void;
/**
* Output console info.
*
* @param param0 The log and its text representation.
*/
logInfo({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void;
/**
* Output console trace.
*
* @param param0 The log and its text representation.
*/
logTrace({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void;
/**
* Output console warning.
*
* @param param0 The log and its text representation.
*/
logWarning({ formattedLog, log: { payload } }: LumberjackLogDriverLog<TPayload>): void;
static ɵfac: i0.ɵɵFactoryDeclaration<LumberjackConsoleDriver<any>, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<LumberjackConsoleDriver<any>>;
}
export { LumberjackConsoleDriver, lumberjackConsoleToken, provideLumberjackConsoleDriver };
export type { LumberjackConsole };