【发布时间】:2020-06-29 05:16:43
【问题描述】:
我正在尝试将 Log4js-Node 添加到在 Apache 上运行的 Node.js 服务器。这是我的代码:
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 上的请求
但是当我在远程服务器上运行代码时,它崩溃了,我在错误页面中得到了这个(部分路径被我替换为“[removed]”):
App 25925 输出:在服务器上。 ([移除]/index.js:27:9)
App 25925 输出:在 Logger。 [作为调试] ([删除]/12/lib/node_modules/log4js/lib/logger.js:124:10)
App 25925 输出:在 Logger.log ([removed]/12/lib/node_modules/log4js/lib/logger.js:73:12)
App 25925 输出:在 Logger._log ([removed]/12/lib/node_modules/log4js/lib/logger.js:90:16)
App 25925 输出:在 Object.send ([removed]/12/lib/node_modules/log4js/lib/clustering.js:97:15)
应用 25925 输出:[已删除]/12/lib/node_modules/log4js/lib/clustering.js:97
App 25925 输出:在 Object. ([删除]/12/lib/node_modules/log4js/lib/clustering.js:8:13)
我正在使用 A2 Hosting,它使用 Apache 2.4.41。我选择了 Node.js 12.9.0 和 Log4js 6.1.2。 package.json 在我的电脑和服务器上应该是一样的,我在两者上都运行了npm install。
这只是 Log4js 和服务器的问题,还是我错过了什么?
【问题讨论】:
标签: javascript node.js apache server log4js-node