diff --git a/Commons/Logger.qml b/Commons/Logger.qml index 22a4726..72b62e4 100644 --- a/Commons/Logger.qml +++ b/Commons/Logger.qml @@ -17,6 +17,14 @@ Singleton { } } + function _getStackTrace() { + try { + throw new Error("Stack trace") + } catch (e) { + return e.stack + } + } + function log(...args) { var msg = _formatMessage(...args) console.log(msg) @@ -31,4 +39,20 @@ Singleton { var msg = _formatMessage(...args) console.error(msg) } + + function callStack() { + var stack = _getStackTrace() + Logger.log("Debug", "--------------------------") + Logger.log("Debug", "Current call stack") + // Split the stack into lines and log each one + var stackLines = stack.split('\n') + for (var i = 0; i < stackLines.length; i++) { + var line = stackLines[i].trim() // Remove leading/trailing whitespace + if (line.length > 0) { + // Only log non-empty lines + Logger.log("Debug", `- ${line}`) + } + } + Logger.log("Debug", "--------------------------") + } }