Javascript захватывает console.trace() вместо записи его в консоль

#javascript

#javascript

Вопрос:

Я хочу получить трассировку вызываемого метода, поэтому я использую console.trace() однако это выводит трассировку на саму консоль, чего я не хочу делать. Вместо этого я хочу записать результат, а затем выполнить его некоторую обработку.

Как я могу этого добиться? Я знаю о сторонних модулях npm, которые делают это, но я хочу сохранить это как можно более ванильным JS.

Комментарии:

1. Вы пробовали захватывать .stack свойство выдаваемой ошибки?

Ответ №1:

 function getStackTrace() {
  const { stack } = new Error("A senseless error message, this isnt one");
  return stack.substr(stack.indexOf("n", stack.indexOf("n")   1));
}

function nestingOnProgress() {
  console.log("You will see my origin below:", getStackTrace());
}

nestingOnProgress();  

Комментарии:

1. @paulpro Я не знаю, почему я не подумал об этом, мне, вероятно, следует прекратить отвечать на сегодня…