UNPKG

class-logger

Version:

Boilerplate-free decorator-based class logging

48 lines (47 loc) 2.1 kB
export interface IClassLoggerLogData { args: any[]; className: string; propertyName: string | symbol; classInstance?: any; } export interface IClassLoggerLogResData { result: any; error: boolean; } export declare type IClassLoggerFormatterStartData = IClassLoggerLogData & { include: IClassLoggerIncludeConfig; }; export declare type IClassLoggerFormatterEndData = IClassLoggerFormatterStartData & IClassLoggerLogResData; export interface IClassLoggerFormatter { start: (data: IClassLoggerFormatterStartData) => string; end: (data: IClassLoggerFormatterEndData) => string; } export interface IClassLoggerMessageConfigIncludeComplex { start: boolean; end: boolean; } export interface IClassLoggerIncludeConfig { args: boolean | IClassLoggerMessageConfigIncludeComplex; construct: boolean; result: boolean; classInstance: boolean | IClassLoggerMessageConfigIncludeComplex; } export declare class ClassLoggerFormatterService implements IClassLoggerFormatter { protected readonly placeholderNotAvailable = "N/A"; protected readonly placeholderUndefined = "undefined"; start(data: IClassLoggerFormatterStartData): string; end(data: IClassLoggerFormatterEndData): string; protected base({ className, propertyName }: IClassLoggerFormatterStartData): string; protected operation({ error }: IClassLoggerFormatterEndData): " -> error" | " -> done"; protected args({ args }: IClassLoggerFormatterStartData): string; protected classInstance({ classInstance }: IClassLoggerFormatterStartData): string; protected result({ result }: IClassLoggerFormatterEndData): string; protected final(): string; protected complexObjectToString(obj: any): string; protected valueToString(val: any): string; protected includeComplex(includeComplex: boolean | IClassLoggerMessageConfigIncludeComplex, type: keyof IClassLoggerMessageConfigIncludeComplex): boolean; protected isPlainObjectOrArray(obj: object | null): boolean; protected errorToString(error: Error & { code?: string; }): string; }