UNPKG

file-error-logging

Version:

Log your errors directly to the console and to a .log file

38 lines (37 loc) 1.87 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logToFile = void 0; // src/logger/LogToFile.ts const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const logToFile = (logsDir, rotation, level, message) => { const now = new Date(); if (rotation === "daily") { const yearDir = path_1.default.resolve(logsDir, now.getFullYear().toString()); fs_extra_1.default.ensureDirSync(yearDir); const monthDir = path_1.default.resolve(yearDir, (now.getMonth() + 1).toString()); fs_extra_1.default.ensureDirSync(monthDir); const dayDir = path_1.default.resolve(monthDir, now.getDate().toString()); fs_extra_1.default.ensureDirSync(dayDir); const logFile = path_1.default.resolve(dayDir, `${level}.log`); fs_extra_1.default.appendFileSync(logFile, `${message}\n`); } if (rotation === "monthly") { const yearDir = path_1.default.resolve(logsDir, now.getFullYear().toString()); fs_extra_1.default.ensureDirSync(yearDir); const monthDir = path_1.default.resolve(yearDir, (now.getMonth() + 1).toString()); fs_extra_1.default.ensureDirSync(monthDir); const logFile = path_1.default.resolve(monthDir, `${level}.log`); fs_extra_1.default.appendFileSync(logFile, `${message}\n`); } if (rotation === "yearly") { const yearDir = path_1.default.resolve(logsDir, now.getFullYear().toString()); fs_extra_1.default.ensureDirSync(yearDir); const logFile = path_1.default.resolve(yearDir, `${level}.log`); fs_extra_1.default.appendFileSync(logFile, `${message}\n`); } }; exports.logToFile = logToFile;