- Я, наверное, идиот. Но прочитав это adobe.com и это adobe.com я так и не понял, как сделать, чтобы вместо (вместе) стандарной функции trace() вызывался мой Debug.Trace()
Вообще-то я всегда подозревал, что это невозможно. (в haXe, кстати, не проблема, и там я этим пользовался).
Посылать отладочные сообщения через LocalConnection на другой swf файл, который их будет по всякому фильтровать и красиво показывать — дело хорошее. Но LocalConnection не сильно надежен, обрывается переодически.
Юзать какой-то тул поверх flashlog.txt тоже неплохо. Но тут есть проблема — как различать логи, идущие из разных swf файлов, работающих одновременно? C LocalConnection такой проблемы нет. У меня проекты многопользовательские и часто нужно запускать несколько экземпляров одного приложения, или даже не одного.
Ну и мне всегда хотелось переопределить стандартный trace(). В приципе мне кажется реальным сделать тул, который уже в скомпилированном swf заменит trace() на Debug.Trace(). Или удалит их вовсе.#425121from 46E70C95, 25 months ago
Replies (19)
- @prof:mx.logging не позволит заменить trace() на что-то другое.
Различать логи от разных приложений можно, добавляя в лог-месседж какой-то уникальный для приложения id.
А переопределить, наверное, можно... Пробежав по скомпилированному swf-у и заменив все вызовы trace вызовом другого метода.#425121/1from 38867389431260892736689565, 25 months ago - @Constantiner:А Logging API уже не сильно кошерно пользовать?#425121/2from Constantin03E53BAD, 25 months ago
- @yzh44yzh:@Constantiner Ну вот, я, идиот, прочитал, и не понял, как его использовать.#425121/3from 46E70C95, 25 months ago, in reply to /2
- @Constantiner:@yzh44yzh Как обычный Logging API. Конфигурируешь. Типа откуда и куда. Типа log4j.#425121/4from Constantin03E53BAD, 25 months ago, in reply to /3
- @prof:@Constantiner Весь разговор начался с того, что не придумался способ перенаправить логи Mate. Видимо, посмотрев в исходники, можно быстро это понять. Но вот под рукой нет, а скачивать лень.#425121/5from 38867389431260892736689565, 25 months ago, in reply to /2
- @Constantiner:@Constantiner Хочешь в трейс, хочешь в LocalConnection. А у фаратовцев вообще есть панель, которая это интерактивно может настраивать.#425121/6from Constantin03E53BAD, 25 months ago, in reply to /4
- @Constantiner:@prof Насколько я помню, они тот же Logging API пользуют. Соответственно, надо указать пакеты и куда. Но я не пробовал :) Так что это теоретически. Но тем не менее панель от фаратовцев тебе сразу сообщит, откуда и куда идут логи :)#425121/8from Constantin03E53BAD, 25 months ago, in reply to /5
- @yzh44yzh:@Constantiner Давай я так спрошу: если код внутри Mate фреймворка использует trace(), то могу ли я, не модифицируя исходники Mate, сделать что-то, чтобы эти сообщения дублировались или перенаправлялись в мой метод?#425121/10from 46E70C95, 25 months ago, in reply to /6
- @Constantiner:@yzh44yzh Нет, не можешь. Но если они вдруг пользуют trace, то смело можешь слать им репорт :)#425121/12from Constantin03E53BAD, 25 months ago, in reply to /10
- @Constantiner:@prof Большой шанс, что они пользуют TraceTarget или как он там.#425121/13from Constantin03E53BAD, 25 months ago, in reply to /11
- @Constantiner:@yzh44yzh sourceforge.net [sourceforge.net] , а конкретно Log4Fx тебе может помочь. Типа на этапе отладки и прочее.#425121/18from Constantin03E53BAD, 25 months ago, in reply to /3
