HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/@oclif/core/lib/errors/logger.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
const path = require("path");
const timestamp = () => new Date().toISOString();
let timer;
const wait = (ms) => new Promise(resolve => {
    if (timer)
        timer.unref();
    timer = setTimeout(() => resolve(null), ms);
});
function chomp(s) {
    if (s.endsWith('\n'))
        return s.replace(/\n$/, '');
    return s;
}
class Logger {
    // eslint-disable-next-line no-useless-constructor
    constructor(file) {
        this.file = file;
        this.flushing = Promise.resolve();
        this.buffer = [];
    }
    log(msg) {
        const stripAnsi = require('strip-ansi');
        msg = stripAnsi(chomp(msg));
        const lines = msg.split('\n').map(l => `${timestamp()} ${l}`.trimEnd());
        this.buffer.push(...lines);
        // tslint:disable-next-line no-console
        this.flush(50).catch(console.error);
    }
    async flush(waitForMs = 0) {
        await wait(waitForMs);
        this.flushing = this.flushing.then(async () => {
            if (this.buffer.length === 0)
                return;
            const mylines = this.buffer;
            this.buffer = [];
            const fs = require('fs-extra');
            await fs.mkdirp(path.dirname(this.file));
            await fs.appendFile(this.file, mylines.join('\n') + '\n');
        });
        await this.flushing;
    }
}
exports.Logger = Logger;