Refactor geocoding services and improve logging
- Updated the Nominatim geocoding service to use a class-based structure and accept a logger instance for better logging control. - Modified tests for the Nominatim service to align with the new structure and improved logging assertions. - Removed the disabled notification service test file. - Added a new GeocodingFailedError class to handle geocoding failures more explicitly. - Enhanced error logging in the queue service to include structured error objects. - Updated user service to accept a logger instance for better logging in address upsert operations. - Added request-scoped logger to Express Request interface for type-safe logging in route handlers. - Improved logging in utility functions for better debugging and error tracking. - Created a new GoogleGeocodingService class for Google Maps geocoding with structured logging. - Added tests for the useAiAnalysis hook to ensure proper functionality and error handling.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
// server.ts
|
||||
import express, { Request, Response, NextFunction } from 'express';
|
||||
import { randomUUID } from 'crypto';
|
||||
import timeout from 'connect-timeout';
|
||||
import cookieParser from 'cookie-parser';
|
||||
import listEndpoints from 'express-list-endpoints';
|
||||
@@ -45,7 +46,7 @@ getPool().query('SELECT u.user_id, u.email, p.role FROM public.users u JOIN publ
|
||||
console.table(res.rows);
|
||||
})
|
||||
.catch(err => {
|
||||
logger.error('[SERVER PROCESS] Could not query users table on startup.', { err });
|
||||
logger.error({ err }, '[SERVER PROCESS] Could not query users table on startup.');
|
||||
});
|
||||
|
||||
logger.info('-----------------------------------------------\n');
|
||||
@@ -163,7 +164,7 @@ if (process.env.NODE_ENV !== 'test') {
|
||||
});
|
||||
|
||||
// Start the scheduled background jobs
|
||||
startBackgroundJobs(backgroundJobService, analyticsQueue, weeklyAnalyticsQueue);
|
||||
startBackgroundJobs(backgroundJobService, analyticsQueue, weeklyAnalyticsQueue, logger);
|
||||
|
||||
// --- Graceful Shutdown Handling ---
|
||||
process.on('SIGINT', () => gracefulShutdown('SIGINT'));
|
||||
|
||||
Reference in New Issue
Block a user