OverviewFilesCommitsIssuesDocsReleasesPeers

mirall-cli / node_modules / electron-windows-msix / lib / logger.js

63 lines · javascript ref:
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.log = void 0;
const chalk_1 = __importDefault(require("chalk"));
const debug_1 = __importDefault(require("debug"));
const debug = (0, debug_1.default)('electron-windows-msix');
class log {
    static log(level, message, object) {
        const logMessage = `${level}: ${message}`;
        let logObject = '';
        if (object)
            logObject = JSON.stringify(object, null, 2).replace(/\\r\\n/g, '\n').replace(/\\\\/g, '\\').replace(/\\\"/g, '"');
        if (debug.enabled) {
            debug('%s %s', logMessage, logObject);
            return;
        }
        if (level === 'debug' && !!globalThis.DEBUG) {
            console.log(chalk_1.default.grey(logMessage));
            if (object) {
                console.group();
                console.log(chalk_1.default.grey(logObject));
                console.groupEnd();
            }
        }
        if (level === 'warn' && (!!globalThis.DEBUG || !!globalThis.SHOW_WARNINGS)) {
            console.log(chalk_1.default.yellow(logMessage));
            if (object) {
                console.group();
                console.log(chalk_1.default.yellow(logObject));
                console.groupEnd();
            }
        }
        if (level === 'error') {
            console.log(chalk_1.default.red(logMessage));
            if (object) {
                console.group();
                console.log(chalk_1.default.red(logObject));
                console.groupEnd();
            }
        }
        if (level === 'info') {
            console.log(logMessage);
            if (object) {
                console.group();
                console.log(logObject);
                console.groupEnd();
            }
        }
    }
    static info = (message, object) => this.log('info', message, object);
    static warn = (message, object) => this.log('warn', message, object);
    static error = (message, throwError = false, object) => {
        this.log('error', message, object);
        if (throwError)
            throw new Error(message);
    };
    static debug = (message, object) => this.log('debug', message, object);
}
exports.log = log;
//# sourceMappingURL=logger.js.map