1 | import SMTPTransport from 'nodemailer/lib/smtp-transport';
|
2 | export declare class BaseException<T> extends Error {
|
3 | name: string;
|
4 | json: T;
|
5 | kind: string;
|
6 | constructor(name: string, json?: T);
|
7 | }
|
8 | export declare class ClientException<T = object> extends BaseException<T> {
|
9 | }
|
10 | export declare class ExternalException<T = object> extends BaseException<T> {
|
11 | }
|
12 | export declare class Exception<T = object> extends BaseException<T> {
|
13 | }
|
14 | declare type Levels = keyof typeof levels;
|
15 | declare type LoggerStreamConfig = {
|
16 | level: Levels;
|
17 | type: 'file';
|
18 | file: string;
|
19 | rotate?: 'daily';
|
20 | } | {
|
21 | level: Levels;
|
22 | type: 'stdout';
|
23 | } | {
|
24 | level: Levels;
|
25 | type: 'email';
|
26 | options: SMTPTransport.Options;
|
27 | from: string;
|
28 | to: string;
|
29 | subject: {
|
30 | start: string;
|
31 | error: string;
|
32 | };
|
33 | };
|
34 | export interface LoggerSettings {
|
35 | streams: LoggerStreamConfig[];
|
36 | }
|
37 | export declare class Logger {
|
38 | protected streams: LoggerStream[];
|
39 | constructor(settings: LoggerSettings);
|
40 | protected setSettings(settings: LoggerSettings): void;
|
41 | protected log(type: Levels, name: string, json?: object): void;
|
42 | info(name: string, json?: object): void;
|
43 | clientError(name: string, json?: object): void;
|
44 | warn(name: string, json?: object): void;
|
45 | trace(name: string, json?: object): void;
|
46 | error(name: string | Error, json?: object): void;
|
47 | external(name: string, json?: object): void;
|
48 | }
|
49 | declare abstract class LoggerStream {
|
50 | level: number;
|
51 | constructor(level: number);
|
52 | abstract write(id: string, parentId: string, date: Date, type: Levels, name: string, json: object): void;
|
53 | }
|
54 | declare const levels: {
|
55 | error: number;
|
56 | warn: number;
|
57 | external: number;
|
58 | info: number;
|
59 | clientError: number;
|
60 | trace: number;
|
61 | };
|
62 | export declare const logger: Logger;
|
63 | export declare function setLoggerSettings(settings: LoggerSettings): void;
|
64 | export {};
|
65 |
|
\ | No newline at end of file |