Files
hossein-por-shop/frontend/tools/logger.ts
T
2025-03-19 18:03:03 +03:30

35 lines
1.1 KiB
TypeScript

import fs from "fs/promises";
class Logger {
public static async axiosErrorLog(error: any) {
const errorJson = error.toJSON();
const nowDate = new Date();
const logData: AxiosLogType = {
url: errorJson.config.url,
code: errorJson.code!,
status: errorJson.status!,
method: errorJson.config.method,
response: error?.response?.data,
requestHeaders: errorJson.config.headers,
responseHeaders: error.response.headers,
payload: errorJson.config.data ? JSON.parse(errorJson.config.data) : undefined,
params: errorJson.config.params ?? undefined,
date: nowDate.toString()
};
try {
const oldLogs = await fs.readFile(".logs/log.json", "utf-8");
const oldLogsJson = JSON.parse(oldLogs) as Record<any, any>[];
oldLogsJson.push(logData);
await fs.writeFile(".logs/log.json", JSON.stringify(oldLogsJson));
} catch (e) {
console.error(e);
}
}
}
export default Logger;