UNPKG

@nglogger/core

Version:

Pluggable logger for Angular 2 / 4 / 5

56 lines (55 loc) 2.16 kB
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?); }