Вопрос

Есть ли какой-нибудь способ захватить инструкции трассировки вашего приложения Flex, не работая в режиме отладки?

Или есть какой-либо другой способ вывода информации журнала, когда не запущен отладчик?

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

Это было полезно?

Решение

Я полагаю, вы говорите об Adobe Flex, ориентированном на Flash Player?

Если это так, вы можете написать свой собственный класс-оболочку ведения журнала, который распространяет отправленные ему сообщения журнала на несколько целевых объектов (например, на стек трассировки и внутреннюю память, чтобы вы могли получить доступ к журналу из приложения и, напримеротправьте его на сервер, когда пользователь согласится отправить отчет об ошибке).Также смотрите Гибкая система ведения журнала для чего-то подобного, что уже существует.

На самом деле я делал что-то подобное - у меня есть класс под названием Log со статическими методами, такими как log(), debug(), error() и т.д.который я использую в своих приложениях, и этот класс пересылает все отправленные ему сообщения в стек трассировки через trace(), в приложение "log console", работающее на том же хосте через LocalConnection и / или сокет (очевидно, что подключение к сокету намного быстрее, чем LocalConnection), а также сохраняет их локально в массив, чтобы пользователи могли отправлять отчеты об ошибках вместе с выводом журнала прямо из приложения.

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

Другие советы

В Google Code есть проект под названием Удар грома это позволяет вам записывать сообщения журнала, которые будут появляться в Поджигатель при запуске приложения в Firefox (при условии, конечно, что у вас установлено это расширение.)

Ведение журнала с помощью этого инструмента так же просто, как:

import org.osflash.thunderbolt.Logger;

var myNumber: int = 5;
var myString: String = "Lorem ipsum";
Logger.error ("Logging two objects: A number typed as int and a string", myNumber, myString);

В прошлом я пользовался alcon.

http://blog.hexagonstar.com/alcon/

Вы можете попробовать XPanel от Farata Systems.Это собственный пользовательский интерфейс Windows, который может отображать сообщения журнала с использованием Flex 3 Logging API даже для приложений Flex, запущенных в браузере.К сожалению, они переделали свой сайт, и я больше не могу его найти...Может быть, Google вам поможет.

Мы сделали что-то другое, используя JavaScript.Клиент может открыть "специальную" страницу, на которой показаны инструкции ведения журнала и трассировки с использованием DHTML.Приложение Flex вызывает функцию JavaScript, которая сообщает приложению, открыта эта страница или нет.Если это не так, ведение журнала отключено.Если он открыт, ведение журнала включено, и все инструкции журнала добавляются к этой странице.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top