UNPKG

fock-logger

Version:

Simple logger for your pet-project

51 lines 2.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const configurator_1 = __importDefault(require("../config/configurator")); const { config } = new configurator_1.default(); const f_formatter_1 = __importDefault(require("f-formatter")); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const day = 60 * 60 * 24; const format = "*&0000.00.00"; const filter = new RegExp(format.replace("*", "[a-zA-Z]?").replace("&", "[!@#$%^&*()-+]?").replaceAll("0", "[0-9]"), "gi"); const formatter = new f_formatter_1.default(); const pathFormat = (...p) => path_1.default.resolve(path_1.default.join(...p)); class Deleter { _dir = config.dir; constructor(dir) { this._dir = pathFormat(dir); } init() { for (const log of fs_1.default.readdirSync(pathFormat(this._dir, "log"))) { const name = path_1.default.parse(pathFormat(this._dir, "log", log)).name; const date = name.match(filter); if (!date) continue; const currentTime = formatter.date.Date(new Date(), "dd.MM.yyyy").split(".").reverse(); const time = date[0].split("."); const now = formatter.date.Timestamp({ year: Number(currentTime[0]), month: Number(currentTime[1]), day: Number(currentTime[2]) }, "seconds"); const fileTime = formatter.date.Timestamp({ year: Number(time[0]), month: Number(time[1]), day: Number(time[2]) }, "seconds") + day * config.deletion_interval; try { if (now > fileTime) { fs_1.default.unlinkSync(pathFormat(this._dir, "log", log)); continue; } } catch { } } } } exports.default = Deleter; //# sourceMappingURL=deleter.logger.js.map