mirror of
https://github.com/log4js-node/log4js-node.git
synced 2025-12-08 19:26:01 +00:00
91 lines
2.7 KiB
JavaScript
91 lines
2.7 KiB
JavaScript
const { test } = require("tap");
|
|
const net = require("net");
|
|
const log4js = require("../../lib/log4js");
|
|
const vcr = require("../../lib/appenders/recording");
|
|
const levels = require("../../lib/levels");
|
|
const LoggingEvent = require("../../lib/LoggingEvent");
|
|
|
|
log4js.configure({
|
|
appenders: {
|
|
vcr: { type: "recording" },
|
|
tcp: { type: "tcp-server", port: 5678 }
|
|
},
|
|
categories: {
|
|
default: { appenders: ["vcr"], level: "debug" }
|
|
}
|
|
});
|
|
|
|
// give the socket a chance to start up
|
|
test("TCP Server", batch => {
|
|
batch.test(
|
|
"should listen for TCP messages and re-send via process.send",
|
|
t => {
|
|
setTimeout(() => {
|
|
const socket = net.connect(5678, () => {
|
|
socket.write(
|
|
`${new LoggingEvent(
|
|
"test-category",
|
|
levels.INFO,
|
|
["something"],
|
|
{}
|
|
).serialise()}__LOG4JS__${new LoggingEvent(
|
|
"test-category",
|
|
levels.INFO,
|
|
["something else"],
|
|
{}
|
|
).serialise()}__LOG4JS__some nonsense__LOG4JS__{"some":"json"}__LOG4JS__`,
|
|
() => {
|
|
socket.end();
|
|
setTimeout(() => {
|
|
log4js.shutdown(() => {
|
|
const logs = vcr.replay();
|
|
t.equal(logs.length, 4);
|
|
t.match(logs[0], {
|
|
data: ["something"],
|
|
categoryName: "test-category",
|
|
level: { levelStr: "INFO" },
|
|
context: {}
|
|
});
|
|
t.match(logs[1], {
|
|
data: ["something else"],
|
|
categoryName: "test-category",
|
|
level: { levelStr: "INFO" },
|
|
context: {}
|
|
});
|
|
t.match(logs[2], {
|
|
data: [
|
|
"Unable to parse log:",
|
|
"some nonsense",
|
|
"because: ",
|
|
SyntaxError
|
|
],
|
|
categoryName: "log4js",
|
|
level: { levelStr: "ERROR" },
|
|
context: {}
|
|
});
|
|
t.match(logs[3], {
|
|
data: [
|
|
"Unable to parse log:",
|
|
'{"some":"json"}',
|
|
"because: ",
|
|
TypeError
|
|
],
|
|
categoryName: "log4js",
|
|
level: { levelStr: "ERROR" },
|
|
context: {}
|
|
});
|
|
t.end();
|
|
});
|
|
}, 100);
|
|
}
|
|
);
|
|
});
|
|
|
|
socket.unref();
|
|
}, 100);
|
|
|
|
batch.end();
|
|
}
|
|
);
|
|
});
|