Flex / Flash: захватить «след» в коде? - PullRequest
1 голос
/ 11 февраля 2010

Можно ли во Flash / Flex зафиксировать результат «трассировки» в коде?

Так, например, если одна часть кода вызывает trace("foo"), я бы хотел автоматически захватить строку "foo" и передать ее какой-нибудь другой функции.

Редактировать : Меня не интересует попытка использовать trace вместо правильной среды ведения журналов… Я хочу написать плагин для FlexUnit, чтобы при неудачном тестировании он мог сказать что-то вроде «Тест blah не пройден. Вот вывод: ... traced text ...».

Редактировать 2 : я только хочу получить результаты trace. Или, другими словами, даже если мой код использует правильную структуру ведения журнала, я хочу изящно обработать код, который все еще использует trace для ведения журнала.

Ответы [ 5 ]

1 голос
/ 11 февраля 2010

Насколько я знаю, это невозможно сделать извне, Google не дает результатов. Рассматривали ли вы создание переменной для вывода, а затем добавление ее в журнал, например:

var outputtext = "text";

trace(outputtext);

// log outputtext here

Не обращайте внимания, если это невозможно, но я не могу придумать другого пути.

Однако вы можете сделать это внутри, если это только для целей разработки: http://broadcast.artificialcolors.com/index.php?c=1&more=1&pb=1&tb=1&title=logging_flash_trace_output_to_a_text_fil

0 голосов
/ 12 февраля 2010

Я бы посоветовал поискать источник для swiz framework. Они используют гибкий внутренний logLogger для всего приложения и в большинстве своем используют лучшие практики.

0 голосов
/ 11 февраля 2010

Насколько я понял, вы не хотите использовать ведение журнала, что, конечно, является правильным способом сделать это.

Таким образом, вы можете просто создать класс Static с помощью метода trace и вызывать этот метод из любого места приложения, вот так вы получите все трассы в одном месте и сможете делать все, что захотите, со строкой трассировки перед печатью. это утешить.

Другим способом является создание пузырькового события трассировки и его отправка всякий раз, когда вы хотите отследить сообщение, затем добавить для него прослушиватель STAGE и перехватить все события ... Надеюсь, что его помощь

0 голосов
/ 11 февраля 2010

У меня есть метод Debug.write, который отправляет пропущенные сообщения через LocalConnection, который я использую вместо trace. Мое требование - иметь возможность перехватывать операторы отладки, даже если SWF-файл заканчивается в среде разработки, но вы можете использовать этот метод для захвата сообщений trace .

0 голосов
/ 11 февраля 2010

Если вы хотите записать трассировки в журнал, вы можете просто использовать отладочную версию Flash Player и сказать ей, чтобы записывать трассировки.

...