34 lines
684 B
TypeScript
34 lines
684 B
TypeScript
|
export class Logger
|
||
|
{
|
||
|
name: string
|
||
|
static interceptors: LogInterceptor[] = []
|
||
|
constructor(name: string)
|
||
|
{
|
||
|
this.name = name
|
||
|
}
|
||
|
|
||
|
static AddInterceptor(interceptor: LogInterceptor)
|
||
|
{
|
||
|
Logger.interceptors.push(interceptor)
|
||
|
}
|
||
|
|
||
|
error(error: Error, payload: any = null)
|
||
|
{
|
||
|
console.error(error, payload)
|
||
|
Logger.interceptors.forEach((i) =>
|
||
|
{
|
||
|
i.call(this, error, payload)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
info(message: string, payload: any = null)
|
||
|
{
|
||
|
console.info(message, payload)
|
||
|
Logger.interceptors.forEach((i) =>
|
||
|
{
|
||
|
i.call(this, message, payload)
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
export type LogInterceptor = (this: Logger, info: string | Error, payload: any) => void
|