Получение трассировки стека или текущего файла из Appcelerator Titanium? - PullRequest
0 голосов
/ 03 января 2019

Я хочу создать механизм ведения журнала, который также включает файл, из которого был записан оператор журнала.

Например, если у меня есть файл:

//foo.js
log("stuff");

Затем я хочу, чтобы функция log могла включать имя файла "foo.js" в журналы.

Возможно ли это? Я нигде не смог найти об этом ничего.

Ответы [ 3 ]

0 голосов
/ 03 января 2019

В качестве альтернативы вы можете выдать ошибку и обработать ее в событии uncaughtException. Обратите внимание, что это следует делать только для целей разработки.

0 голосов
/ 14 января 2019

Помимо появления новой ошибки, еще одно возможное решение - создать и поддерживать собственный глобальный массив, который содержит имя всех открытых вами контроллеров.

0 голосов
/ 03 января 2019

Вы можете вызвать новую ошибку и перехватить ее изнутри.Таким образом, вы можете получить доступ к трассировке стека, используя myError.stack, который напечатает список файлов, которые привели к вашей точке выполнения.Пример:

try {
    throw new Error('Trace!');
} catch (err) {
    console.log(err.trace);
}

Если у вас есть еще вопросы, дайте мне знать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...