@nglogger/core
Version:
Pluggable logger for Angular 2 / 4 / 5
56 lines (55 loc) • 2.16 kB
TypeScript
import { InjectionToken } from '@angular/core';
import { Transport } from './transport';
export declare type Scope = string;
export declare type Level = 'fatal' | 'error' | 'warn' | 'info' | 'verbose' | 'trace' | 'debug';
export declare type Meta = object | Error;
export declare type LogLevel = (scope: Scope, subject: string, meta?: Meta) => void;
export declare type ScopedLogLevel = (subject: string, meta?: Meta) => void;
export interface LoggerLevels {
fatal: LogLevel;
error: LogLevel;
warn: LogLevel;
info: LogLevel;
verbose: LogLevel;
trace: LogLevel;
debug: LogLevel;
}
export interface ScopedLoggerLevels {
fatal: ScopedLogLevel;
error: ScopedLogLevel;
warn: ScopedLogLevel;
info: ScopedLogLevel;
verbose: ScopedLogLevel;
trace: ScopedLogLevel;
debug: ScopedLogLevel;
}
export interface Scopable {
scope(scope: Scope): ScoppedLogger;
}
export declare const TRANSPORTS: InjectionToken<Transport[]>;
export declare class ScoppedLogger implements ScopedLoggerLevels, Scopable {
private _logger;
private _scope;
constructor(_logger: Logger, _scope: Scope);
fatal(subject: string, meta?: Meta): void;
error(subject: string, meta?: Meta): void;
warn(subject: string, meta?: Meta): void;
info(subject: string, meta?: Meta): void;
verbose(subject: string, meta?: Meta): void;
trace(subject: string, meta?: Meta): void;
debug(subject: string, meta?: Meta): void;
scope(scope: Scope): ScoppedLogger;
}
export declare class Logger implements LoggerLevels, Scopable {
private _transports;
constructor(_transports: Transport[]);
fatal(scope: Scope, subject: string, meta?: Meta): void;
error(scope: Scope, subject: string, meta?: Meta): void;
warn(scope: Scope, subject: string, meta?: Meta): void;
info(scope: Scope, subject: string, meta?: Meta): void;
verbose(scope: Scope, subject: string, meta?: Meta): void;
trace(scope: Scope, subject: string, meta?: Meta): void;
debug(scope: Scope, subject: string, meta?: Meta): void;
scope(scope: Scope): ScoppedLogger;
private _log(level, scope, subject, meta?);
}