"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const fs_1 = tslib_1.__importDefault(require("fs")); const log4js_1 = tslib_1.__importDefault(require("log4js")); const os_1 = tslib_1.__importDefault(require("os")); const path_1 = tslib_1.__importDefault(require("path")); const MAX_LOG_SIZE = 1024 * 1024; const MAX_LOG_BACKUPS = 10; const LOG_FILE_PATH = process.env.NVIM_MKDP_LOG_FILE || path_1.default.join(os_1.default.tmpdir(), 'mkdp-nvim.log'); const level = process.env.NVIM_MKDP_LOG_LEVEL || 'info'; if (level === 'debug') { fs_1.default.writeFileSync(LOG_FILE_PATH, '', 'utf8'); } const isRoot = process.getuid && process.getuid() === 0; if (!isRoot) { log4js_1.default.configure({ appenders: { out: { type: 'file', filename: LOG_FILE_PATH, maxLogSize: MAX_LOG_SIZE, backups: MAX_LOG_BACKUPS, layout: { type: 'pattern', // Format log in following pattern: // yyyy-MM-dd HH:mm:ss.mil $Level (pid:$pid) $categroy - $message. pattern: `%d{yyyy-MM-dd hh:mm:ss} %p (pid:${process.pid}) [%c] - %m` } } }, categories: { default: { appenders: ['out'], level } } }); } module.exports = (name = 'mkdp') => { return log4js_1.default.getLogger(name); };