File tree Expand file tree Collapse file tree 4 files changed +19
-9
lines changed
Expand file tree Collapse file tree 4 files changed +19
-9
lines changed Original file line number Diff line number Diff 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 } ) ;
Original file line number Diff line number Diff line change 11import i18n from '../i18n' ;
2- import logger from './logger' ;
2+ import logger , { logDBError } from './logger' ;
33import { config } from '../config' ;
44
55export 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
2227export 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
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import Parser from 'rss-parser';
33import pMap from 'p-map' ;
44import hashFeed from './hash-feed' ;
55import { RecurrenceRule , scheduleJob } from 'node-schedule' ;
6- import logger from './logger' ;
6+ import logger , { logHttpError } from './logger' ;
77import { findFeed } from './feed' ;
88import { config } from '../config' ;
99import { 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 ) ) {
Original file line number Diff line number Diff 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+ }
4248export default logger ;
You can’t perform that action at this time.
0 commit comments