使用flex集中记录

时间:2011-09-01 10:03:34

标签: flex logging flash-builder

我们正在开发一个应用程序,我们需要这个并进一步预测集中式日志记录。我知道flex builder 4.5中有一个log api构建。并且loger有一个日志目标。我发现的是如何将这些登录信息发送到跟踪控制台。 但我正在寻找将日志文件发送到我的服务器。

也许我可以将消息发送到填充后端数据库的Web服务。我不知道这是否是一种推荐方式。

如何集中存储日志信息?

提前致谢 弗兰克

2 个答案:

答案 0 :(得分:1)

Log4Fx在Flex日志记录的基础上提供了一些灵活的日志记录解决方案,并提供了几个开箱即用的服务器日志记录解决方案。您可以阅读更多详细信息here。 Log4Fx是免费和开源Clear Toolkit的一部分。

答案 1 :(得分:0)

据我所知,没有开箱即用的方法。

我有一个日志类,它通过远程对象与服务器建立连接。这也可以是一个Web服务。

我对该日志类使用单例模式。

我用它来记录AIR应用程序中的错误。我有一个全局错误处理程序来捕获未处理的异常。然后我调用一个只调用远程对象的日志类,并将错误记录到日志表中。

日志类足够灵活,可以处理调试和信息语句。我几乎将log4net方式复制到日志错误,这允许我指定类型(调试,错误,信息,等)和消息。您可以重载该方法,以便向其发送更多信息(如消息,已用时间,用户ID,类等)。

这是我们用来记录错误的函数:

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 );
  }