117 lines
2.9 KiB
JavaScript
117 lines
2.9 KiB
JavaScript
const { isArray } = require("lodash");
|
|
const logger = require("../utils/logger");
|
|
|
|
|
|
function createLogEvent(socket, level, message) {
|
|
if (LogLevelHierarchy(socket.log_level) >= LogLevelHierarchy(level)) {
|
|
// console.log(`[WS LOG EVENT] ${level} - ${new Date()} - ${socket.user.email} - ${socket.id} - ${message}`);
|
|
socket.emit("log-event", {
|
|
timestamp: new Date(),
|
|
level,
|
|
message
|
|
});
|
|
|
|
logger.log("ws-log-event", level, socket.user.email, socket.recordid, {
|
|
wsmessage: message
|
|
});
|
|
|
|
if (socket.logEvents && isArray(socket.logEvents)) {
|
|
socket.logEvents.push({
|
|
timestamp: new Date(),
|
|
level,
|
|
message
|
|
});
|
|
}
|
|
// if (level === "ERROR") {
|
|
// throw new Error(message);
|
|
// }
|
|
}
|
|
}
|
|
|
|
function createJsonEvent(socket, level, message, json) {
|
|
if (LogLevelHierarchy(socket.log_level) >= LogLevelHierarchy(level)) {
|
|
//console.log(`[WS LOG EVENT] ${level} - ${new Date()} - ${socket.user.email} - ${socket.id} - ${message}`);
|
|
socket.emit("log-event", {
|
|
timestamp: new Date(),
|
|
level,
|
|
message
|
|
});
|
|
}
|
|
logger.log(
|
|
"ws-log-event-json",
|
|
level,
|
|
socket.user.email,
|
|
socket.recordid,
|
|
{
|
|
wsmessage: message,
|
|
json
|
|
},
|
|
true
|
|
);
|
|
|
|
if (socket.logEvents && isArray(socket.logEvents)) {
|
|
socket.logEvents.push({
|
|
timestamp: new Date(),
|
|
level,
|
|
message
|
|
});
|
|
}
|
|
// if (level === "ERROR") {
|
|
// throw new Error(message);
|
|
// }
|
|
}
|
|
|
|
function createXmlEvent(socket, xml, message, isError = false) {
|
|
if (LogLevelHierarchy(socket.log_level) >= LogLevelHierarchy("SILLY")) {
|
|
socket.emit("log-event", {
|
|
timestamp: new Date(),
|
|
level: isError ? "ERROR" : "SILLY",
|
|
message: `${message}: ${xml}`
|
|
});
|
|
}
|
|
|
|
logger.log(
|
|
isError ? "ws-log-event-xml-error" : "ws-log-event-xml",
|
|
isError ? "ERROR" : "SILLY",
|
|
socket.user.email,
|
|
socket.recordid,
|
|
{
|
|
wsmessage: message,
|
|
xml
|
|
},
|
|
true
|
|
);
|
|
|
|
if (socket.logEvents && isArray(socket.logEvents)) {
|
|
socket.logEvents.push({
|
|
timestamp: new Date(),
|
|
level: isError ? "ERROR" : "SILLY",
|
|
message,
|
|
xml
|
|
});
|
|
}
|
|
}
|
|
|
|
function LogLevelHierarchy(level) {
|
|
switch (level) {
|
|
case "XML":
|
|
return 5;
|
|
case "SILLY":
|
|
return 5;
|
|
case "DEBUG":
|
|
return 4;
|
|
case "INFO":
|
|
return 3;
|
|
case "WARN":
|
|
return 2;
|
|
case "ERROR":
|
|
return 1;
|
|
default:
|
|
return 3;
|
|
}
|
|
}
|
|
|
|
exports.createLogEvent = createLogEvent;
|
|
exports.createXmlEvent = createXmlEvent;
|
|
exports.createJsonEvent = createJsonEvent;
|