Я пытаюсь добавить Log4 js -Node на сервер Node.js, работающий на Apache. Вот мой код:
const path = require("path");
const express = require("express");
const log4js = require('log4js');
const app = express();
const logger = log4js.getLogger();
logger.level = "debug";
const port = 443;
log4js.configure({
appenders: { everything: { type: 'file', filename: 'logs.log', flags: 'w' } },
categories: { default: { appenders: ['everything'], level: 'ALL' } }
});
const server = app.listen(port, () => {
logger.debug("listening to requests on port " + port);
});
app.get("/log", (req, res) => {
res.sendFile(path.join(__dirname + "/logs.log"));
});
Когда я запускаю скрипт на Node.js на моем компьютере и перехожу к localhost: 443 / log, я вижу то, что ожидаю, а именно:
[2020-03-17T22: 50: 43.145] [DEBUG] по умолчанию - прослушивание запросов через порт 443
Но когда я запускаю код на удаленном сервере, он падает, и я получаю это в страница ошибки (часть пути заменена мной на «[удалено]»):
Выход приложения 25925: на сервере. ([удалено] /index.js:27:9)
Выход приложения 25925: в Logger. [как отладка] ([удалено] /12/lib/node_modules/log4js/lib/logger.js:124:10)
Вывод приложения 25925: в Logger.log ([удалено] / 12 / lib / node_modules / log4js / lib / logger. js: 73: 12)
Выход приложения 25925: в Logger._log ([удалено] /12/lib/node_modules/log4js/lib/logger.js: 90: 16)
Выход приложения 25925: в Object.send ([удалено] /12/lib/node_modules/log4js/lib/clustering.js:97:15)
Вывод приложения 25925: [удалено] /12/lib/node_modules/log4js/lib/clustering.js:97
Вывод приложения 25925: в объекте. ([удалено] /12/lib/node_modules/log4js/lib/clustering.js:8:13)
Я использую хостинг A2, который использует Apache 2.4.41. Я выбрал Node.js 12.9.0 и Log4 js 6.1.2. Пакет. json должен быть одинаковым как на моем компьютере, так и на сервере, и я запускаю npm install
на обоих.
Это просто проблема с Log4 js и сервером, или я что-то пропустил?