Skip to content

Commit 52c398e

Browse files
committed
refactor: tweak log
1 parent ff2fcc2 commit 52c398e

File tree

4 files changed

+19
-9
lines changed

4 files changed

+19
-9
lines changed

source/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,8 @@ async function startFetchProcess(restartTime: number): Promise<void> {
276276
});
277277

278278
child.on('exit', function (code, signal) {
279-
logger.error(`child process exit`);
280279
logger.error({
280+
message: `child process exit`,
281281
code,
282282
signal
283283
});

source/utils/errors.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
import i18n from '../i18n';
2-
import logger from './logger';
2+
import logger, { logDBError } from './logger';
33
import { config } from '../config';
44

55
export class ControllableError extends Error {
66
code: string;
7-
constructor(err: string) {
7+
constructor(err: string, code: string) {
88
super(err);
9+
this.code = code;
910
if (err) {
10-
logger.error(err);
11+
if (code === 'DB_ERROR') {
12+
logDBError(err);
13+
} else {
14+
logger.error(err);
15+
}
1116
}
1217
}
1318

@@ -20,15 +25,14 @@ export class ControllableError extends Error {
2025
}
2126

2227
export function newCtrlErr(code: string, e?: any) {
23-
const err = new ControllableError(e);
2428
if (e && e.response) {
2529
switch (e.response.statusCode) {
2630
case 404:
2731
case 403:
28-
this.code = e.response.statusCode;
32+
code = e.response.statusCode;
2933
}
3034
}
31-
err.code = code;
35+
const err = new ControllableError(e, code);
3236
return err;
3337
}
3438

source/utils/fetch.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Parser from 'rss-parser';
33
import pMap from 'p-map';
44
import hashFeed from './hash-feed';
55
import { RecurrenceRule, scheduleJob } from 'node-schedule';
6-
import logger from './logger';
6+
import logger, { logHttpError } from './logger';
77
import { findFeed } from './feed';
88
import { config } from '../config';
99
import { Feed, FeedItem } from '../types/feed';
@@ -73,7 +73,7 @@ async function fetch(feedModal: Feed): Promise<Option<FeedItem[]>> {
7373
})
7474
);
7575
} catch (e) {
76-
logger.error(`${feedUrl} ${e.stack || e.message}`);
76+
logHttpError(feedUrl, e);
7777
await failAttempt(feedUrl);
7878
const feed = await getFeedByUrl(feedUrl);
7979
if (isSome(feed)) {

source/utils/logger.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,10 @@ logger.add(
3939
)
4040
})
4141
);
42+
export function logHttpError(url: string, error: any) {
43+
logger.error({ type: 'http', url, error });
44+
}
45+
export function logDBError(error: any) {
46+
logger.error({ type: 'db', error });
47+
}
4248
export default logger;

0 commit comments

Comments
 (0)