1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | import {Request} from 'express';
|
7 | import {IncomingMessage} from 'http';
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | export function createUnexpectedHttpErrorLogger(
|
15 | expectedStatusCode?: number,
|
16 | ): LogError {
|
17 | return function logUnexpectedHttpError(
|
18 | err: Error,
|
19 | statusCode: number,
|
20 | req: IncomingMessage,
|
21 | ) {
|
22 | if (statusCode === expectedStatusCode) return;
|
23 |
|
24 |
|
25 | console.error(
|
26 | 'Unhandled error in %s %s: %s %s',
|
27 | req.method,
|
28 | req.url,
|
29 | statusCode,
|
30 | err.stack ?? err,
|
31 | );
|
32 | };
|
33 | }
|
34 |
|
35 | type LogError = (err: Error, statusCode: number, request: Request) => void;
|