From 92475c0b8b6d28aa93876dfbf6d1fac3bf4c3343 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 14 Aug 2026 18:06:45 +0200 Subject: [PATCH] Task/improve error log output of data provider and queue services (#7622) * Improve error log output of data provider and queue services by omitting stack trace * Update changelog --- CHANGELOG.md | 1 + .../data-providers/ghostfolio/ghostfolio.service.ts | 12 ++++++------ apps/api/src/app/symbol/symbol.service.ts | 2 +- .../yahoo-finance/yahoo-finance.service.ts | 4 ++-- .../services/data-provider/data-provider.service.ts | 6 +++--- .../google-sheets/google-sheets.service.ts | 2 +- .../services/data-provider/manual/manual.service.ts | 2 +- .../data-provider/rapid-api/rapid-api.service.ts | 2 +- .../yahoo-finance/yahoo-finance.service.ts | 6 +++--- .../data-gathering/data-gathering.processor.ts | 4 ++-- .../queues/data-gathering/data-gathering.service.ts | 2 +- .../portfolio-snapshot.processor.ts | 2 +- .../statistics-gathering.processor.ts | 8 ++++---- 13 files changed, 27 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51ca35069..cb44dfe42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Simplified the error log output of the data provider and queue services by omitting the stack trace - Improved the language localization for German (`de`) ### Fixed diff --git a/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts b/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts index b858688c2..addc5d879 100644 --- a/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts +++ b/apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts @@ -115,7 +115,7 @@ export class GhostfolioService { return result; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -157,7 +157,7 @@ export class GhostfolioService { return result; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -199,7 +199,7 @@ export class GhostfolioService { return result; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -226,7 +226,7 @@ export class GhostfolioService { return marketDataOfMarkets; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -314,7 +314,7 @@ export class GhostfolioService { return results; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -393,7 +393,7 @@ export class GhostfolioService { return results; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } diff --git a/apps/api/src/app/symbol/symbol.service.ts b/apps/api/src/app/symbol/symbol.service.ts index 98869797e..9cf940208 100644 --- a/apps/api/src/app/symbol/symbol.service.ts +++ b/apps/api/src/app/symbol/symbol.service.ts @@ -198,7 +198,7 @@ export class SymbolService { results.items = items; return results; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } diff --git a/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts index 25b7ec06b..77e83b271 100644 --- a/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts @@ -136,7 +136,7 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { response.url = url; } } catch (error) { - this.logger.error(error); + this.logger.error(error.message); } return response; @@ -281,7 +281,7 @@ export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { `No data found, ${aSymbol} (${this.getName()}) may be delisted` ); } else { - this.logger.error(error); + this.logger.error(error.message); } } diff --git a/apps/api/src/services/data-provider/data-provider.service.ts b/apps/api/src/services/data-provider/data-provider.service.ts index adb12f5f0..8eca468cb 100644 --- a/apps/api/src/services/data-provider/data-provider.service.ts +++ b/apps/api/src/services/data-provider/data-provider.service.ts @@ -141,7 +141,7 @@ export class DataProviderService implements OnModuleInit { ); } } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -427,7 +427,7 @@ export class DataProviderService implements OnModuleInit { return r; }, {}); } catch (error) { - this.logger.error(error); + this.logger.error(error.message); } finally { return response; } @@ -548,7 +548,7 @@ export class DataProviderService implements OnModuleInit { result[getAssetProfileIdentifier({ dataSource, symbol })] = data; } } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } diff --git a/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts b/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts index 75fae673e..055b2364a 100644 --- a/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts +++ b/apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts @@ -144,7 +144,7 @@ export class GoogleSheetsService implements DataProviderInterface { return response; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); } return {}; diff --git a/apps/api/src/services/data-provider/manual/manual.service.ts b/apps/api/src/services/data-provider/manual/manual.service.ts index a8cfa8b0b..1d09c91fe 100644 --- a/apps/api/src/services/data-provider/manual/manual.service.ts +++ b/apps/api/src/services/data-provider/manual/manual.service.ts @@ -215,7 +215,7 @@ export class ManualService implements DataProviderInterface { return response; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); } return {}; diff --git a/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts b/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts index 9af22b79a..f14bfec14 100644 --- a/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts +++ b/apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts @@ -113,7 +113,7 @@ export class RapidApiService implements DataProviderInterface { } } } catch (error) { - this.logger.error(error); + this.logger.error(error.message); } return {}; diff --git a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts index f59e91db4..9f113b9e5 100644 --- a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts @@ -216,7 +216,7 @@ export class YahooFinanceService implements DataProviderInterface { try { quotes = await this.yahooFinance.quote(yahooFinanceSymbols); } catch (error) { - this.logger.error(error); + this.logger.error(error.message); this.logger.warn('Fallback to yahooFinance.quoteSummary()'); @@ -244,7 +244,7 @@ export class YahooFinanceService implements DataProviderInterface { return response; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); return {}; } @@ -352,7 +352,7 @@ export class YahooFinanceService implements DataProviderInterface { if (error?.name === 'BadRequestError') { this.logger.warn(`Could not search for "${query}": ${error.message}`); } else { - this.logger.error(error); + this.logger.error(error.message); } } diff --git a/apps/api/src/services/queues/data-gathering/data-gathering.processor.ts b/apps/api/src/services/queues/data-gathering/data-gathering.processor.ts index 8b7e3489f..008603fa8 100644 --- a/apps/api/src/services/queues/data-gathering/data-gathering.processor.ts +++ b/apps/api/src/services/queues/data-gathering/data-gathering.processor.ts @@ -85,7 +85,7 @@ export class DataGatheringProcessor { return job.discard(); } - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -198,7 +198,7 @@ export class DataGatheringProcessor { return job.discard(); } - this.logger.error(error); + this.logger.error(error.message); throw error; } diff --git a/apps/api/src/services/queues/data-gathering/data-gathering.service.ts b/apps/api/src/services/queues/data-gathering/data-gathering.service.ts index 1a2fa720e..d418c4f3f 100644 --- a/apps/api/src/services/queues/data-gathering/data-gathering.service.ts +++ b/apps/api/src/services/queues/data-gathering/data-gathering.service.ts @@ -322,7 +322,7 @@ export class DataGatheringService { }); } } catch (error) { - this.logger.error(error); + this.logger.error(error.message); } finally { return undefined; } diff --git a/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.processor.ts b/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.processor.ts index 2ade39a8a..06b87f733 100644 --- a/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.processor.ts +++ b/apps/api/src/services/queues/portfolio-snapshot/portfolio-snapshot.processor.ts @@ -101,7 +101,7 @@ export class PortfolioSnapshotProcessor { return snapshot; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw new Error(error); } diff --git a/apps/api/src/services/queues/statistics-gathering/statistics-gathering.processor.ts b/apps/api/src/services/queues/statistics-gathering/statistics-gathering.processor.ts index 21d009805..d9aa34c4b 100644 --- a/apps/api/src/services/queues/statistics-gathering/statistics-gathering.processor.ts +++ b/apps/api/src/services/queues/statistics-gathering/statistics-gathering.processor.ts @@ -143,7 +143,7 @@ export class StatisticsGatheringProcessor { return pull_count; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -173,7 +173,7 @@ export class StatisticsGatheringProcessor { value }); } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -192,7 +192,7 @@ export class StatisticsGatheringProcessor { return stargazers_count; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; } @@ -221,7 +221,7 @@ export class StatisticsGatheringProcessor { return data.attributes.availability / 100; } catch (error) { - this.logger.error(error); + this.logger.error(error.message); throw error; }