1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | import * as NodeJSStream from "stream";
|
7 |
|
8 | import * as logform from 'logform';
|
9 | import * as Transport from 'winston-transport';
|
10 |
|
11 | import * as Config from './lib/winston/config/index';
|
12 | import * as Transports from './lib/winston/transports/index';
|
13 |
|
14 | declare namespace winston {
|
15 |
|
16 | export import format = logform.format;
|
17 | export import Logform = logform;
|
18 | export import config = Config;
|
19 | export import transports = Transports;
|
20 | export import transport = Transport;
|
21 |
|
22 | interface ExceptionHandler {
|
23 | logger: Logger;
|
24 | handlers: Map<any, any>;
|
25 | catcher: Function | boolean;
|
26 |
|
27 | handle(...transports: Transport[]): void;
|
28 | unhandle(...transports: Transport[]): void;
|
29 | getAllInfo(err: string | Error): object;
|
30 | getProcessInfo(): object;
|
31 | getOsInfo(): object;
|
32 | getTrace(err: Error): object;
|
33 |
|
34 | new(logger: Logger): ExceptionHandler;
|
35 | }
|
36 |
|
37 | interface RejectionHandler {
|
38 | logger: Logger;
|
39 | handlers: Map<any, any>;
|
40 | catcher: Function | boolean;
|
41 |
|
42 | handle(...transports: Transport[]): void;
|
43 | unhandle(...transports: Transport[]): void;
|
44 | getAllInfo(err: string | Error): object;
|
45 | getProcessInfo(): object;
|
46 | getOsInfo(): object;
|
47 | getTrace(err: Error): object;
|
48 |
|
49 | new(logger: Logger): RejectionHandler;
|
50 | }
|
51 |
|
52 | interface QueryOptions {
|
53 | rows?: number;
|
54 | limit?: number;
|
55 | start?: number;
|
56 | from?: Date;
|
57 | until?: Date;
|
58 | order?: "asc" | "desc";
|
59 | fields: any;
|
60 | }
|
61 |
|
62 | interface Profiler {
|
63 | logger: Logger;
|
64 | start: Number;
|
65 | done(info?: any): boolean;
|
66 | }
|
67 |
|
68 | type LogCallback = (error?: any, level?: string, message?: string, meta?: any) => void;
|
69 |
|
70 | interface LogEntry {
|
71 | level: string;
|
72 | message: string;
|
73 | [optionName: string]: any;
|
74 | }
|
75 |
|
76 | interface LogMethod {
|
77 | (level: string, message: string, callback: LogCallback): Logger;
|
78 | (level: string, message: string, meta: any, callback: LogCallback): Logger;
|
79 | (level: string, message: string, ...meta: any[]): Logger;
|
80 | (entry: LogEntry): Logger;
|
81 | (level: string, message: any): Logger;
|
82 | }
|
83 |
|
84 | interface LeveledLogMethod {
|
85 | (message: string, callback: LogCallback): Logger;
|
86 | (message: string, meta: any, callback: LogCallback): Logger;
|
87 | (message: string, ...meta: any[]): Logger;
|
88 | (message: any): Logger;
|
89 | (infoObject: object): Logger;
|
90 | }
|
91 |
|
92 | interface LoggerOptions {
|
93 | levels?: Config.AbstractConfigSetLevels;
|
94 | silent?: boolean;
|
95 | format?: logform.Format;
|
96 | level?: string;
|
97 | exitOnError?: Function | boolean;
|
98 | defaultMeta?: any;
|
99 | transports?: Transport[] | Transport;
|
100 | handleExceptions?: boolean;
|
101 | handleRejections?: boolean;
|
102 | exceptionHandlers?: any;
|
103 | rejectionHandlers?: any;
|
104 | }
|
105 |
|
106 | interface Logger extends NodeJSStream.Transform {
|
107 | silent: boolean;
|
108 | format: logform.Format;
|
109 | levels: Config.AbstractConfigSetLevels;
|
110 | level: string;
|
111 | transports: Transport[];
|
112 | exceptions: ExceptionHandler;
|
113 | rejections: RejectionHandler;
|
114 | profilers: object;
|
115 | exitOnError: Function | boolean;
|
116 | defaultMeta?: any;
|
117 |
|
118 | log: LogMethod;
|
119 | add(transport: Transport): Logger;
|
120 | remove(transport: Transport): Logger;
|
121 | clear(): Logger;
|
122 | close(): Logger;
|
123 |
|
124 |
|
125 | error: LeveledLogMethod;
|
126 | warn: LeveledLogMethod;
|
127 | help: LeveledLogMethod;
|
128 | data: LeveledLogMethod;
|
129 | info: LeveledLogMethod;
|
130 | debug: LeveledLogMethod;
|
131 | prompt: LeveledLogMethod;
|
132 | http: LeveledLogMethod;
|
133 | verbose: LeveledLogMethod;
|
134 | input: LeveledLogMethod;
|
135 | silly: LeveledLogMethod;
|
136 |
|
137 |
|
138 | emerg: LeveledLogMethod;
|
139 | alert: LeveledLogMethod;
|
140 | crit: LeveledLogMethod;
|
141 | warning: LeveledLogMethod;
|
142 | notice: LeveledLogMethod;
|
143 |
|
144 | query(options?: QueryOptions, callback?: (err: Error, results: any) => void): any;
|
145 | stream(options?: any): NodeJS.ReadableStream;
|
146 |
|
147 | startTimer(): Profiler;
|
148 | profile(id: string | number, meta?: LogEntry): Logger;
|
149 |
|
150 | configure(options: LoggerOptions): void;
|
151 |
|
152 | child(options: Object): Logger;
|
153 |
|
154 | isLevelEnabled(level: string): boolean;
|
155 | isErrorEnabled(): boolean;
|
156 | isWarnEnabled(): boolean;
|
157 | isInfoEnabled(): boolean;
|
158 | isVerboseEnabled(): boolean;
|
159 | isDebugEnabled(): boolean;
|
160 | isSillyEnabled(): boolean;
|
161 |
|
162 | new(options?: LoggerOptions): Logger;
|
163 | }
|
164 |
|
165 | interface Container {
|
166 | loggers: Map<string, Logger>;
|
167 | options: LoggerOptions;
|
168 |
|
169 | add(id: string, options?: LoggerOptions): Logger;
|
170 | get(id: string, options?: LoggerOptions): Logger;
|
171 | has(id: string): boolean;
|
172 | close(id?: string): void;
|
173 |
|
174 | new(options?: LoggerOptions): Container;
|
175 | }
|
176 |
|
177 | let version: string;
|
178 | let ExceptionHandler: ExceptionHandler;
|
179 | let RejectionHandler: RejectionHandler;
|
180 | let Container: Container;
|
181 | let loggers: Container;
|
182 |
|
183 | let addColors: (target: Config.AbstractConfigSetColors) => any;
|
184 | let createLogger: (options?: LoggerOptions) => Logger;
|
185 |
|
186 |
|
187 | let error: LeveledLogMethod;
|
188 | let warn: LeveledLogMethod;
|
189 | let info: LeveledLogMethod;
|
190 | let http: LeveledLogMethod;
|
191 | let verbose: LeveledLogMethod;
|
192 | let debug: LeveledLogMethod;
|
193 | let silly: LeveledLogMethod;
|
194 |
|
195 |
|
196 | let log: LogMethod;
|
197 | let query: (options?: QueryOptions, callback?: (err: Error, results: any) => void) => any;
|
198 | let stream: (options?: any) => NodeJS.ReadableStream;
|
199 | let add: (transport: Transport) => Logger;
|
200 | let remove: (transport: Transport) => Logger;
|
201 | let clear: () => Logger;
|
202 | let startTimer: () => Profiler;
|
203 | let profile: (id: string | number) => Logger;
|
204 | let configure: (options: LoggerOptions) => void;
|
205 | let child: (options: Object) => Logger;
|
206 | let level: string;
|
207 | let exceptions: ExceptionHandler;
|
208 | let rejections: RejectionHandler;
|
209 | let exitOnError: Function | boolean;
|
210 |
|
211 | }
|
212 |
|
213 | export = winston;
|