Files
cut-abstractions/tests/dev1/dataHandle/common/log.ts
2025-07-22 18:22:31 +08:00

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