mirror of
https://github.com/node-red/node-red.git
synced 2025-12-27 15:34:26 +01:00
Merge branch 'master' into dev
This commit is contained in:
22
packages/node_modules/@node-red/util/lib/log.js
vendored
22
packages/node_modules/@node-red/util/lib/log.js
vendored
@@ -75,12 +75,28 @@ LogHandler.prototype.shouldReportMessage = function(msglevel) {
|
||||
msglevel <= this.logLevel;
|
||||
}
|
||||
|
||||
|
||||
// Older versions of Node-RED used the deprecated util.log function.
|
||||
// With Node.js 22, use of that function causes warnings. So here we
|
||||
// are replicating the same format output to ensure we don't break any
|
||||
// log parsing that happens in the real world.
|
||||
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
const utilLog = function (msg) {
|
||||
const d = new Date();
|
||||
const time = [
|
||||
d.getHours().toString().padStart(2, '0'),
|
||||
d.getMinutes().toString().padStart(2, '0'),
|
||||
d.getSeconds().toString().padStart(2, '0')
|
||||
].join(':');
|
||||
console.log(`${d.getDate()} ${months[d.getMonth()]} ${time} - ${msg}`)
|
||||
}
|
||||
|
||||
var consoleLogger = function(msg) {
|
||||
if (msg.level == log.METRIC || msg.level == log.AUDIT) {
|
||||
util.log("["+levelNames[msg.level]+"] "+JSON.stringify(msg));
|
||||
utilLog("["+levelNames[msg.level]+"] "+JSON.stringify(msg));
|
||||
} else {
|
||||
if (verbose && msg.msg && msg.msg.stack) {
|
||||
util.log("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+msg.msg.stack);
|
||||
utilLog("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+msg.msg.stack);
|
||||
} else {
|
||||
var message = msg.msg;
|
||||
try {
|
||||
@@ -91,7 +107,7 @@ var consoleLogger = function(msg) {
|
||||
message = 'Exception trying to log: '+util.inspect(message);
|
||||
}
|
||||
|
||||
util.log("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+message);
|
||||
utilLog("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
78
packages/node_modules/@node-red/util/lib/util.js
vendored
78
packages/node_modules/@node-red/util/lib/util.js
vendored
@@ -828,18 +828,25 @@ function encodeObject(msg,opts) {
|
||||
debuglength = opts.maxLength;
|
||||
}
|
||||
var msgType = typeof msg.msg;
|
||||
if (msg.msg instanceof Error) {
|
||||
if (msg.msg instanceof Error || /Error/.test(msg.msg?.__proto__?.name)) {
|
||||
msg.format = "error";
|
||||
var errorMsg = {};
|
||||
if (msg.msg.name) {
|
||||
errorMsg.name = msg.msg.name;
|
||||
|
||||
const cause = msg.msg.cause
|
||||
const value = {
|
||||
__enc__: true,
|
||||
type: 'error',
|
||||
data: {
|
||||
name: msg.msg.name,
|
||||
message: hasOwnProperty.call(msg.msg, 'message') ? msg.msg.message : msg.msg.toString(),
|
||||
cause: cause + "",
|
||||
stack: msg.msg.stack,
|
||||
}
|
||||
}
|
||||
if (hasOwnProperty.call(msg.msg, 'message')) {
|
||||
errorMsg.message = msg.msg.message;
|
||||
} else {
|
||||
errorMsg.message = msg.msg.toString();
|
||||
// Remove cause if not defined
|
||||
if (!cause) {
|
||||
delete value.data.cause
|
||||
}
|
||||
msg.msg = JSON.stringify(errorMsg);
|
||||
msg.msg = JSON.stringify(value);
|
||||
} else if (msg.msg instanceof Buffer) {
|
||||
msg.format = "buffer["+msg.msg.length+"]";
|
||||
msg.msg = msg.msg.toString('hex');
|
||||
@@ -857,6 +864,7 @@ function encodeObject(msg,opts) {
|
||||
msg.format = "Object";
|
||||
}
|
||||
if (/error/i.test(msg.format)) {
|
||||
// TODO: check if this is needed
|
||||
msg.msg = JSON.stringify({
|
||||
name: msg.msg.name,
|
||||
message: msg.msg.message
|
||||
@@ -904,8 +912,22 @@ function encodeObject(msg,opts) {
|
||||
__enc__: true,
|
||||
type: "internal"
|
||||
}
|
||||
} else if (value instanceof Error) {
|
||||
value = value.toString()
|
||||
} else if (value instanceof Error || /Error/.test(value?.__proto__?.name)) {
|
||||
const cause = value.cause
|
||||
value = {
|
||||
__enc__: true,
|
||||
type: 'error',
|
||||
data: {
|
||||
name: value.name,
|
||||
message: hasOwnProperty.call(value, 'message') ? value.message : value.toString(),
|
||||
cause: cause + "",
|
||||
stack: value.stack,
|
||||
}
|
||||
}
|
||||
// Remove cause if not defined
|
||||
if (!cause) {
|
||||
delete value.data.cause
|
||||
}
|
||||
} else if (Array.isArray(value) && value.length > debuglength) {
|
||||
value = {
|
||||
__enc__: true,
|
||||
@@ -977,8 +999,19 @@ function encodeObject(msg,opts) {
|
||||
return value;
|
||||
});
|
||||
} else {
|
||||
try { msg.msg = msg.msg.toString(); }
|
||||
catch(e) { msg.msg = "[Type not printable]" + util.inspect(msg.msg); }
|
||||
try {
|
||||
msg.msg = msg.msg.toString();
|
||||
} catch(e) {
|
||||
msg.msg.format = 'error'
|
||||
msg.msg = JSON.stringify({
|
||||
__enc__: true,
|
||||
type: 'error',
|
||||
data: {
|
||||
message: "[Type not serializable]",
|
||||
stack: e.stack
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (msgType === "function") {
|
||||
@@ -1009,17 +1042,14 @@ function encodeObject(msg,opts) {
|
||||
return msg;
|
||||
} catch(e) {
|
||||
msg.format = "error";
|
||||
var errorMsg = {};
|
||||
if (e.name) {
|
||||
errorMsg.name = e.name;
|
||||
}
|
||||
if (hasOwnProperty.call(e, 'message')) {
|
||||
errorMsg.message = 'encodeObject Error: ['+e.message + '] Value: '+util.inspect(msg.msg);
|
||||
} else {
|
||||
errorMsg.message = 'encodeObject Error: ['+e.toString() + '] Value: '+util.inspect(msg.msg);
|
||||
}
|
||||
if (errorMsg.message.length > debuglength) {
|
||||
errorMsg.message = errorMsg.message.substring(0,debuglength);
|
||||
const errorMsg = {
|
||||
__enc__: true,
|
||||
type: 'error',
|
||||
data: {
|
||||
name: e.name,
|
||||
message: 'encodeObject Error: ' + (hasOwnProperty.call(e, 'message') ? e.message : e.toString()),
|
||||
stack: e.stack,
|
||||
}
|
||||
}
|
||||
msg.msg = JSON.stringify(errorMsg);
|
||||
return msg;
|
||||
|
||||
@@ -21,6 +21,6 @@
|
||||
"jsonata": "2.0.5",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"moment": "2.30.1",
|
||||
"moment-timezone": "0.5.45"
|
||||
"moment-timezone": "0.5.46"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user