централизованная регистрация с гибким - PullRequest
3 голосов
/ 01 сентября 2011

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

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

Как вы храните ваши данные журнала централизованно?

Заранее спасибо Фрэнк

Ответы [ 2 ]

1 голос
/ 01 сентября 2011

Log4Fx предлагает гибкое решение для ведения журнала поверх Flex-ведения журнала с помощью нескольких готовых решений для ведения журнала на сервере. Вы можете прочитать подробности здесь . Log4Fx является частью бесплатного и открытого исходного кода Clear Toolkit .

0 голосов
/ 01 сентября 2011

Насколько я знаю, нет готового способа сделать это.

У меня есть класс журнала, который подключается к серверу через удаленный объект. Это также может быть веб-сервис.

Я использую шаблон синглтона для этого класса журнала.

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

Класс журнала достаточно гибок для обработки операторов отладки и информации. Я в значительной степени копирую способ log4net для регистрации ошибок, который позволяет мне указать тип (отладка, ошибка, информация, т. Д.) И сообщение. Вы можете перегрузить метод, чтобы отправить ему больше информации (например, сообщение, истекшее время, идентификатор пользователя, класс и т. Д.).

Вот функция, которую мы используем для регистрации ошибок:

public function LogApplicationError(memberID:int, logger:String, message:String, name:String, stackTrace:String, responder:IResponder = null ):void
  {
      var asyncToken:AsyncToken = remoteObject.LogApplicationError(memberID, logger, message, name, stackTrace);

      trace("Member ID   : " + memberID.toString());
      trace("Logger      : " + logger);
      trace("Message     : " + message);
      trace("Name        : " + name);
      trace("Stack Trace : " + stackTrace);

      if( responder != null )
          asyncToken.addResponder( responder );
  }
...