You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.6 KiB
JavaScript
63 lines
2.6 KiB
JavaScript
var fs = require('fs');
|
|
var common = require('../../routes/common');
|
|
|
|
exports.log = (msgJSON, selNode = common.selectedNode) => {
|
|
let msgStr = '\r\n[' + new Date().toISOString() + '] ' + msgJSON.level + ': ' + msgJSON.fileName + ' => ' + msgJSON.msg;
|
|
switch (msgJSON.level) {
|
|
case 'ERROR':
|
|
msgStr = msgStr + ': ' + (msgJSON.error && typeof msgJSON.error === 'object' ? JSON.stringify(msgJSON.error) : (msgJSON.error && typeof msgJSON.error === 'string') ? msgJSON.error : '');
|
|
console.error(msgStr);
|
|
if(selNode && selNode.enable_logging) {
|
|
fs.appendFile(selNode.log_file, msgStr, function(err) {
|
|
if (err) {
|
|
return ({ error: 'Updating Log Failed!' });
|
|
} else {
|
|
return ({ message: 'Log Updated Successfully' });
|
|
}
|
|
});
|
|
}
|
|
break;
|
|
|
|
case 'INFO':
|
|
if(selNode && selNode.enable_logging && msgJSON.data) {
|
|
msgStr = msgStr + ': ' + (msgJSON.data && typeof msgJSON.data === 'object' ? JSON.stringify(msgJSON.data) : (msgJSON.data && typeof msgJSON.data === 'string') ? msgJSON.data : '');
|
|
if (msgJSON.fileName !== 'Config Setup Variable') { console.log(msgStr); }
|
|
fs.appendFile(selNode.log_file, msgStr, function(err) {
|
|
if (err) {
|
|
return ({ error: 'Updating Log Failed!' });
|
|
} else {
|
|
return ({ message: 'Log Updated Successfully' });
|
|
}
|
|
});
|
|
} else {
|
|
console.log(msgStr + '.');
|
|
}
|
|
break;
|
|
|
|
case 'DEBUG':
|
|
if(selNode && selNode.enable_logging) {
|
|
if (msgJSON.data && typeof msgJSON.data !== 'string' && msgJSON.data.length && msgJSON.data.length > 0) {
|
|
msgStr = msgJSON.data.reduce((accumulator, dataEle) => {
|
|
return accumulator + (typeof dataEle === 'object' ? JSON.stringify(dataEle) : (typeof dataEle === 'string') ? dataEle : '') + ', ';
|
|
}, msgStr + ': [');
|
|
msgStr = msgStr.slice(0, -2) + ']';
|
|
} else {
|
|
msgStr = msgStr + ': ' + (msgJSON.data && typeof msgJSON.data === 'object' ? JSON.stringify(msgJSON.data) : (msgJSON.data && typeof msgJSON.data === 'string') ? msgJSON.data : '');
|
|
}
|
|
if (msgJSON.fileName !== 'Config Setup Variable') { console.log(msgStr); }
|
|
fs.appendFile(selNode.log_file, msgStr, function(err) {
|
|
if (err) {
|
|
return ({ error: 'Updating Log Failed!' });
|
|
} else {
|
|
return ({ message: 'Log Updated Successfully' });
|
|
}
|
|
});
|
|
}
|
|
break;
|
|
|
|
default:
|
|
console.log(msgStr, selNode);
|
|
break
|
|
}
|
|
}
|