1 | interface PrefixTemplateOptions {
|
2 | level: string;
|
3 | logger: LogLevel;
|
4 | }
|
5 | type PrefixTemplateFn = (options: PrefixTemplateOptions) => string;
|
6 | interface PrefixFactoryOptions {
|
7 | [key: string]: PrefixTemplateFn | string | undefined;
|
8 | level?: PrefixTemplateFn;
|
9 | name?: PrefixTemplateFn;
|
10 | template?: string;
|
11 | time?: PrefixTemplateFn;
|
12 | }
|
13 | declare class PrefixFactory extends MethodFactory {
|
14 | private options;
|
15 | constructor(logger?: LogLevel, options?: PrefixFactoryOptions);
|
16 | interpolate(level: string): string;
|
17 | make(methodName: string): (...args: any[]) => void;
|
18 | }
|
19 |
|
20 | type SomeLevel = number | string;
|
21 | interface LogLevelIndex {
|
22 | [key: string]: any;
|
23 | }
|
24 | interface LogLevelOptions {
|
25 | factory?: Factory;
|
26 | id?: string;
|
27 | level?: number | string;
|
28 | name?: string;
|
29 | prefix?: PrefixFactoryOptions;
|
30 | }
|
31 | declare class LogLevel<TLevels extends FactoryLevels = typeof defaultLevels> implements LogLevelIndex {
|
32 | [key: string]: any;
|
33 | name: string;
|
34 | type: string;
|
35 | private currentLevel;
|
36 | private methodFactory;
|
37 | private options;
|
38 | constructor(options: LogLevelOptions);
|
39 | get level(): TLevels[keyof TLevels];
|
40 | get levels(): TLevels;
|
41 | get factory(): Factory<TLevels>;
|
42 | set factory(factory: Factory<TLevels>);
|
43 | set level(logLevel: SomeLevel);
|
44 | disable(): void;
|
45 | enable(): void;
|
46 | }
|
47 |
|
48 | interface BindTarget {
|
49 | [key: string]: Function;
|
50 | }
|
51 | type FactoryLevels = Record<Uppercase<string>, number> & {
|
52 | DEBUG: number;
|
53 | ERROR: number;
|
54 | INFO: number;
|
55 | SILENT: number;
|
56 | TRACE: number;
|
57 | WARN: number;
|
58 | };
|
59 | declare const defaultLevels: FactoryLevels;
|
60 | declare const levels: unique symbol;
|
61 | declare const instance: unique symbol;
|
62 | interface Factory<TLevels extends FactoryLevels = typeof defaultLevels> {
|
63 | [key: string]: any;
|
64 | bindMethod: (obj: BindTarget, methodName: string) => any;
|
65 | distillLevel: (level: number | string) => any;
|
66 | [instance]: LogLevel | undefined;
|
67 | levelValid: (level: number) => boolean;
|
68 | [levels]: TLevels;
|
69 | levels: TLevels;
|
70 | logger: LogLevel;
|
71 | make: (methodName: string) => Function;
|
72 | methods?: string[];
|
73 | replaceMethods: (logLevel: number | string) => void;
|
74 | }
|
75 | type MethodFactoryLevels = Lowercase<keyof FactoryLevels>;
|
76 | declare class MethodFactory<TLevels extends FactoryLevels = typeof defaultLevels> implements Factory<TLevels> {
|
77 | [instance]: LogLevel | undefined;
|
78 | [levels]: TLevels;
|
79 | constructor(logger?: LogLevel);
|
80 | get levels(): TLevels;
|
81 | get logger(): LogLevel;
|
82 | get methods(): string[];
|
83 | set logger(logger: LogLevel);
|
84 | bindMethod(obj: BindTarget, methodName: string): any;
|
85 | distillLevel(level: number | string): number | null;
|
86 | levelValid(level: number): boolean;
|
87 | make(methodName: string): Function;
|
88 | replaceMethods(logLevel: number | string): void;
|
89 | }
|
90 |
|
91 | declare class DefaultLogger extends LogLevel {
|
92 | private cache;
|
93 | constructor();
|
94 | get factories(): any;
|
95 | get loggers(): Record<string, LogLevel<FactoryLevels>>;
|
96 | create(opts: LogLevelOptions | string): LogLevel<FactoryLevels>;
|
97 | }
|
98 | declare const _default: DefaultLogger;
|
99 |
|
100 | export { Factory, FactoryLevels, LogLevel, LogLevelIndex, LogLevelOptions, MethodFactory, MethodFactoryLevels, PrefixFactory, PrefixFactoryOptions, PrefixTemplateFn, PrefixTemplateOptions, _default as default, defaultLevels };
|