chore(backend): Switch console naar logger
Maak gebruik van custom logger
This commit is contained in:
parent
f82668148c
commit
c2e3886f3f
6 changed files with 29 additions and 13 deletions
|
@ -6,6 +6,7 @@ import {
|
|||
} from '../services/learningObjects.js';
|
||||
import { FALLBACK_LANG } from '../config.js';
|
||||
import { FilteredLearningObject } from '../interfaces/learningPath';
|
||||
import { getLogger } from '../logging/initalize';
|
||||
|
||||
export async function getAllLearningObjects(
|
||||
req: Request,
|
||||
|
@ -33,7 +34,7 @@ export async function getAllLearningObjects(
|
|||
|
||||
res.json(learningObjects);
|
||||
} catch (error) {
|
||||
console.error('Error fetching learning objects:', error);
|
||||
getLogger().error('Error fetching learning objects:', error);
|
||||
res.status(500).json({ error: 'Internal server error' });
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +55,7 @@ export async function getLearningObject(
|
|||
const learningObject = await getLearningObjectById(hruid, language);
|
||||
res.json(learningObject);
|
||||
} catch (error) {
|
||||
console.error('Error fetching learning object:', error);
|
||||
getLogger().error('Error fetching learning object:', error);
|
||||
res.status(500).json({ error: 'Internal server error' });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import {
|
|||
fetchLearningPaths,
|
||||
searchLearningPaths,
|
||||
} from '../services/learningPaths.js';
|
||||
import { getLogger } from '../logging/initalize.js';
|
||||
/**
|
||||
* Fetch learning paths based on query parameters.
|
||||
*/
|
||||
|
@ -56,7 +57,7 @@ export async function getLearningPaths(
|
|||
);
|
||||
res.json(learningPaths.data);
|
||||
} catch (error) {
|
||||
console.error('❌ Unexpected error fetching learning paths:', error);
|
||||
getLogger().error('❌ Unexpected error fetching learning paths:', error);
|
||||
res.status(500).json({ error: 'Internal server error' });
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import yaml from 'js-yaml';
|
||||
import { Logger } from 'winston';
|
||||
import { Request, Response } from 'express';
|
||||
import { themes } from '../data/themes.js';
|
||||
import { FALLBACK_LANG } from '../config.js';
|
||||
import { getLogger } from '../logging/initalize.js';
|
||||
|
||||
const logger: Logger = getLogger();
|
||||
|
||||
interface Translations {
|
||||
curricula_page: {
|
||||
|
@ -17,10 +21,10 @@ function loadTranslations(language: string): Translations {
|
|||
const yamlFile = fs.readFileSync(filePath, 'utf8');
|
||||
return yaml.load(yamlFile) as Translations;
|
||||
} catch (error) {
|
||||
console.error(
|
||||
logger.error(
|
||||
`Cannot load translation for: ${language}, fallen back to Dutch`
|
||||
);
|
||||
console.error(error);
|
||||
logger.error(error);
|
||||
const fallbackPath = path.join(process.cwd(), '_i18n', 'nl.yml');
|
||||
return yaml.load(fs.readFileSync(fallbackPath, 'utf8')) as Translations;
|
||||
}
|
||||
|
|
|
@ -7,6 +7,10 @@ import {
|
|||
LearningPathResponse,
|
||||
} from '../interfaces/learningPath.js';
|
||||
import { fetchLearningPaths } from './learningPaths.js';
|
||||
import { getLogger } from '../logging/initalize.js';
|
||||
import { Logger } from 'winston';
|
||||
|
||||
const logger: Logger = getLogger();
|
||||
|
||||
function filterData(
|
||||
data: LearningObjectMetadata,
|
||||
|
@ -49,7 +53,7 @@ export async function getLearningObjectById(
|
|||
);
|
||||
|
||||
if (!metadata) {
|
||||
console.error(`⚠️ WARNING: Learning object "${hruid}" not found.`);
|
||||
logger.error(`⚠️ WARNING: Learning object "${hruid}" not found.`);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -77,7 +81,7 @@ async function fetchLearningObjects(
|
|||
!learningPathResponse.success ||
|
||||
!learningPathResponse.data?.length
|
||||
) {
|
||||
console.error(
|
||||
logger.error(
|
||||
`⚠️ WARNING: Learning path "${hruid}" exists but contains no learning objects.`
|
||||
);
|
||||
return [];
|
||||
|
@ -104,7 +108,7 @@ async function fetchLearningObjects(
|
|||
});
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('❌ Error fetching learning objects:', error);
|
||||
logger.error('❌ Error fetching learning objects:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,10 @@ import {
|
|||
LearningPath,
|
||||
LearningPathResponse,
|
||||
} from '../interfaces/learningPath.js';
|
||||
import { getLogger } from '../logging/initalize.js';
|
||||
import { Logger } from 'winston';
|
||||
|
||||
const logger: Logger = getLogger();
|
||||
|
||||
export async function fetchLearningPaths(
|
||||
hruids: string[],
|
||||
|
@ -29,7 +33,7 @@ export async function fetchLearningPaths(
|
|||
);
|
||||
|
||||
if (!learningPaths || learningPaths.length === 0) {
|
||||
console.error(`⚠️ WARNING: No learning paths found for ${source}.`);
|
||||
logger.error(`⚠️ WARNING: No learning paths found for ${source}.`);
|
||||
return {
|
||||
success: false,
|
||||
source,
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import axios, { AxiosRequestConfig } from 'axios';
|
||||
import { getLogger } from '../logging/initalize.js';
|
||||
import { Logger } from 'winston';
|
||||
|
||||
// !!!! when logger is done -> change
|
||||
const logger: Logger = getLogger();
|
||||
|
||||
/**
|
||||
* Utility function to fetch data from an API endpoint with error handling.
|
||||
|
@ -24,16 +26,16 @@ export async function fetchWithLogging<T>(
|
|||
} catch (error: any) {
|
||||
if (error.response) {
|
||||
if (error.response.status === 404) {
|
||||
console.error(
|
||||
logger.error(
|
||||
`❌ ERROR: ${description} not found (404) at "${url}".`
|
||||
);
|
||||
} else {
|
||||
console.error(
|
||||
logger.error(
|
||||
`❌ ERROR: Failed to fetch ${description}. Status: ${error.response.status} - ${error.response.statusText} (URL: "${url}")`
|
||||
);
|
||||
}
|
||||
} else {
|
||||
console.error(
|
||||
logger.error(
|
||||
`❌ ERROR: Network or unexpected error when fetching ${description}:`,
|
||||
error.message
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue