Иногда я вижу приказ о запуске журнала при загрузке приложения и не помню, как вызывался оператор журнала. Есть ли способ найти трассировку стека сообщения журнала консоли из инструментов разработчика Chrome?Получение трассировки стека консольного сообщения
Прямо сейчас, я обернуть console.log с функцией, которая печатает трассировку стека:
console.log = (function() {
var oldLog = console.log.bind(console);
return function() {
try { throw new Error(); } catch (e) {
oldLog(
e.stack.split('\n')
.slice(2)
.map((line) => line.trim().replace('at', 'from'))
.join('\n')
);
}
oldLog.apply(null, Array.prototype.slice.call(arguments));
};
}());
Это напечатает трассировку стека в дополнение к сообщению журнала. Чтобы это было полезно, я должен вставить этот код непосредственно перед тем, как какой-либо из моих кодов запускается. Есть ли способ узнать эту информацию только с консоли, не добавляя этот обертку?
В основном я использую инструменты разработчика Chrome, но мне было бы интересно, если бы это было возможно в любом другом браузере.
Когда вы выполняете console.log из кода (а не из консоли), вы можете просмотреть все пути в правой части консоли, чтобы увидеть местоположение (и даже щелкнуть его, чтобы открыть его.) Это, конечно, t, если вы переопределите его своей собственной функцией, потому что тогда он просто укажет на вашу замену console.log вместо той, которая используется непосредственно в коде. –
ах, справа. как насчет трассировки стека? – Robz
Те, которые существуют только для ошибок, поэтому вы не сможете получить это с помощью console.log. Вы пробовали console.trace? –