diff --git a/dashcaddy-api/routes/monitoring.js b/dashcaddy-api/routes/monitoring.js index d1c60c0..2824aea 100644 --- a/dashcaddy-api/routes/monitoring.js +++ b/dashcaddy-api/routes/monitoring.js @@ -7,9 +7,10 @@ const { success } = require('../response-helpers'); * @param {Object} deps.resourceMonitor - Resource monitoring manager * @param {Object} deps.docker - Docker client wrapper * @param {Function} deps.asyncHandler - Async route handler wrapper + * @param {Object} deps.log - Logger instance * @returns {express.Router} */ -module.exports = function({ resourceMonitor, docker, asyncHandler }) { +module.exports = function({ resourceMonitor, docker, asyncHandler, log }) { const router = express.Router(); // ===== RESOURCE MONITORING ENDPOINTS ===== @@ -119,7 +120,7 @@ module.exports = function({ resourceMonitor, docker, asyncHandler }) { }); } catch (e) { // Skip containers we can't get stats for - console.log(`Could not get stats for ${containerInfo.Names[0]}:`, e.message); + log.warn('monitoring', `Could not get stats for ${containerInfo.Names[0]}`, { error: e.message }); } } diff --git a/dashcaddy-api/routes/themes.js b/dashcaddy-api/routes/themes.js index 4bd341b..393dc04 100644 --- a/dashcaddy-api/routes/themes.js +++ b/dashcaddy-api/routes/themes.js @@ -8,9 +8,10 @@ const { ValidationError, NotFoundError } = require('../errors'); * Themes routes factory * @param {Object} deps - Explicit dependencies * @param {Function} deps.asyncHandler - Async route handler wrapper + * @param {Object} deps.log - Logger instance * @returns {express.Router} */ -module.exports = function({ asyncHandler }) { +module.exports = function({ asyncHandler, log }) { const router = express.Router(); const THEMES_DIR = process.env.THEMES_DIR || path.join(path.dirname(process.env.SERVICES_FILE || '/app/services.json'), 'themes'); @@ -29,7 +30,7 @@ module.exports = function({ asyncHandler }) { themes[slug] = data; } } catch (e) { - console.error('[Themes] Failed to read themes:', e.message); + log.error('themes', 'Failed to read themes', { error: e.message }); } return themes; } diff --git a/dashcaddy-api/src/app.js b/dashcaddy-api/src/app.js index 26525a8..c4cd34a 100644 --- a/dashcaddy-api/src/app.js +++ b/dashcaddy-api/src/app.js @@ -359,7 +359,8 @@ async function createApp() { apiRouter.use(monitoringRoutes({ resourceMonitor: ctx.resourceMonitor, docker: ctx.docker, - asyncHandler: ctx.asyncHandler + asyncHandler: ctx.asyncHandler, + log: ctx.log })); apiRouter.use(updatesRoutes({ updateManager: ctx.updateManager, @@ -420,7 +421,7 @@ async function createApp() { asyncHandler: ctx.asyncHandler })); apiRouter.use('/recipes', recipesRoutes(ctx)); - apiRouter.use(themesRoutes({ asyncHandler: ctx.asyncHandler })); + apiRouter.use(themesRoutes({ asyncHandler: ctx.asyncHandler, log: ctx.log })); apiRouter.use('/docker', dockerResourcesRoutes({ docker: ctx.docker, asyncHandler: ctx.asyncHandler