Проблема с логированием (log4js) в TypeScript

248
21 июля 2021, 18:30

Решил изучать TypeScript; дошел до логов. Имея опыт разработки в Java, выбор пал на библиотеку log4js.

На гитхабе в репозитории библиотеки есть пример для TypeScript. Решил его пока вставить в файл, где будет использоваться в дальнейшем (в качестве теста работы библиотеки), но при сборке проекта получаю ошибку. На нативном JS все работает прекрасно.

Как выглядит мой файл:

import { Client } from 'pg';
import { configure, getLogger } from 'log4js';
configure({
    appenders: { cheese: { type: 'file', filename: 'cheese.log' } },
    categories: { default: { appenders: ['cheese'], level: 'error' } }
});
const logger = getLogger();
class Database {
    client: Client;
    constructor() {
    // Клиент для работы с базой данных
    this.client = new Client({
        host: process.env.DB_HOST,
        port: parseInt(process.env.DB_PORT),
        database: process.env.DB_NAME,
        user: process.env.DB_USER,
        password: process.env.DB_PASSWORD,
        keepAlive: true
    });
    // Проверка подключения при старте сервера
    setTimeout(() => {
        this.checkConnection();
    }, 0);
}
/**
 * Проверка подключения к базе данных
 * @return Promise<void>
 */
private async checkConnection(): Promise<void> {
    try {
        await this.client.connect();
        logger.level = 'debug';
        logger.debug("Some debug messages");
    } catch (error) {
        console.error(error);
        process.exit();
    }
    }
}
export default new Database();

Причем IDE мне выводит данную подсказку об ошибке: Однако, при Ctrl + щелчок мыши, перекидывает в файл log4js.d.ts.

Вот ошибка, которую я получаю при запуске сборке (npm run build):

Содержимое лога об ошибке:

1 verbose cli   'run',
1 verbose cli   'build' ]
2 info using npm@6.11.3
3 info using node@v10.16.0
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle roleplay-serverside@1.0.0~prebuild: roleplay-serverside@1.0.0
6 info lifecycle roleplay-serverside@1.0.0~build: roleplay-serverside@1.0.0
7 verbose lifecycle roleplay-serverside@1.0.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle roleplay-serverside@1.0.0~build: PATH: C:\Users\alex\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;D:\Alt V Windows Server\main-mode-alt\server\node_modules\.bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\Docker\Docker\Resources\bin;E:\Oracle\oraclexe\app\oracle\product\11.2.0\server\bin;;C:\Python27\;C:\Python27\Scripts;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\nodejs\;C:\Program Files\PuTTY\;C:\Program Files\Git\cmd;C:\Program Files\TortoiseGit\bin;C:\Program Files\PostgreSQL\11\bin;C:\Program Files\apache-maven-3.6.1\bin;C:\Users\alex\AppData\Local\Microsoft\WindowsApps;C:\Users\Александр\AppData\Roaming\npm
9 verbose lifecycle roleplay-serverside@1.0.0~build: CWD: D:\Alt V Windows Server\main-mode-alt\server
10 silly lifecycle roleplay-serverside@1.0.0~build: Args: [ '/d /s /c', 'rollup -c --config rollup.config.ts' ]
11 silly lifecycle roleplay-serverside@1.0.0~build: Returned: code: 1  signal: null
12 info lifecycle roleplay-serverside@1.0.0~build: Failed to exec build script
13 verbose stack Error: roleplay-serverside@1.0.0 build: `rollup -c --config rollup.config.ts`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\alex\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:198:13)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\alex\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:198:13)
13 verbose stack     at maybeClose (internal/child_process.js:982:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid roleplay-serverside@1.0.0
15 verbose cwd D:\Alt V Windows Server\main-mode-alt\server
16 verbose Windows_NT 10.0.18362
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\alex\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
18 verbose node v10.16.0
19 verbose npm  v6.11.3
20 error code ELIFECYCLE
21 error errno 1
22 error roleplay-serverside@1.0.0 build: `rollup -c --config rollup.config.ts`
22 error Exit status 1
23 error Failed at the roleplay-serverside@1.0.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Как быть в данной ситуации? Может кто-то сталкивался с подобной проблемой?

READ ALSO
Yandex map CustomControl

Yandex map CustomControl

Подскажите, как к этому примеру прикрутить подписку на событие, например клик по кастомному контролу? Можно конечно в HTML написать, но это...

176
React Css Modules Каскад

React Css Modules Каскад

Всем приветПытаюсь понять как работаю css модули для вложеных компонентов

112
Заполнение одномерных массивов

Заполнение одномерных массивов

Нужно при помощи подпрограмм сформировать и вывести на экран массивы A[15] и B[14]И потом, при помощи функций найти их минумумы и максимумы

197
Возможно ли в С++ следующее условие?

Возможно ли в С++ следующее условие?

Нужно проверить, находится ли X в определённой области, например от 0 до 1Можно ли записать это так: if (0 < x < 1 )?

225