@node-dlc/logger
Version:
63 lines (62 loc) • 1.67 kB
TypeScript
import { LogLevel } from './log-level';
import { ITransport } from './transport';
export interface ILogger {
area: string;
instance: string;
trace(...args: any[]): void;
debug(...args: any[]): void;
info(...args: any[]): void;
warn(...args: any[]): void;
error(...args: any[]): void;
sub(area: string, instance?: string): ILogger;
}
export declare class Logger implements ILogger {
readonly area: string;
readonly instance: string;
private _transports;
private _level;
private _root;
constructor(area?: string, instance?: string);
/**
* Configured log-level
*/
get level(): LogLevel;
set level(value: LogLevel);
/**
* Gets the available transports
*/
get transports(): ITransport[];
/**
* Constructs a sub-logger under the current parent
* @param area optional area, if not provided it inherits from the parent
* @param instance optional instance, if not provied it inherits from the parent
*/
sub(area?: string, instance?: string): Logger;
/**
* Write a trace message
*/
trace(...args: any[]): void;
/**
* Write a debug message
* @param args variadic arguments
*/
debug(...args: any[]): void;
/**
* Write an info message
* @param args variadic arguments
*/
info(...args: any[]): void;
/**
* Write a warning message
* @param args variadic arguments
*/
warn(...args: any[]): void;
/**
* Write an error message
* @param args variadic arguments
*/
error(...args: any[]): void;
private _log;
private _format;
private _write;
}