mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-02-26 15:54:35 +08:00
* Converted initial outputs to color outputs * Some more coloring * Colored all error outputs * Completed coloring of outputs * Created basic logger instance * Moved over to Winston for logging * Remove unnnecessary stuff * Added max file size * Renamed log to logToDb * minor refactor and added tab separation with timestamps * Some changes. Thanks Bruception * Created wrapper for logger * Tiny refactor * Some fixes * Some fixes * Update example env * Remove general * using default yellow, making colors bold * removed square brackets * removed square brackets * using logger instead of console log * updated timestamp format * moved comment up * Fixed typo Co-authored-by: Miodec <bartnikjack@gmail.com>
21 lines
620 B
TypeScript
21 lines
620 B
TypeScript
import { CronJob } from "cron";
|
|
import db from "../init/db";
|
|
import Logger from "../utils/logger";
|
|
|
|
const CRON_SCHEDULE = "0 0 0 * * *";
|
|
const LOG_MAX_AGE_DAYS = 7;
|
|
const LOG_MAX_AGE_MILLISECONDS = LOG_MAX_AGE_DAYS * 24 * 60 * 60 * 1000;
|
|
|
|
async function deleteOldLogs(): Promise<void> {
|
|
const data = await db
|
|
.collection("logs")
|
|
.deleteMany({ timestamp: { $lt: Date.now() - LOG_MAX_AGE_MILLISECONDS } });
|
|
|
|
Logger.logToDb(
|
|
"system_logs_deleted",
|
|
`${data.deletedCount} logs deleted older than ${LOG_MAX_AGE_DAYS} day(s)`,
|
|
undefined
|
|
);
|
|
}
|
|
|
|
export default new CronJob(CRON_SCHEDULE, deleteOldLogs);
|