Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何捕获flex应用程序的跟踪输出?_Actionscript 3_Apache Flex_Air_Flash Builder_Flex3 - Fatal编程技术网

Actionscript 3 如何捕获flex应用程序的跟踪输出?

Actionscript 3 如何捕获flex应用程序的跟踪输出?,actionscript-3,apache-flex,air,flash-builder,flex3,Actionscript 3,Apache Flex,Air,Flash Builder,Flex3,我有一份申请表。它由一个HTML组件组成。我创建了一个flex应用程序,并在Air应用程序的HTML组件中启动该应用程序。我能够捕获Air应用程序的跟踪输出,但无法捕获flex应用程序的跟踪输出。由于此flex应用程序是在Air应用程序的HTML组件中启动的。我使用vizy输出日志打印。如何捕获flex web应用程序的跟踪输出。感谢一个可能的解决方案,使用mx.logging.Log进行调试跟踪,并使用自定义LogTarget进行捕获 事情会是这样的。声明必要的对象: private var

我有一份申请表。它由一个HTML组件组成。我创建了一个flex应用程序,并在Air应用程序的HTML组件中启动该应用程序。我能够捕获Air应用程序的跟踪输出,但无法捕获flex应用程序的跟踪输出。由于此flex应用程序是在Air应用程序的HTML组件中启动的。我使用vizy输出日志打印。如何捕获flex web应用程序的跟踪输出。感谢一个可能的解决方案,使用mx.logging.Log进行调试跟踪,并使用自定义LogTarget进行捕获

事情会是这样的。声明必要的对象:

private var logTarget:MyLogTarget= new MyLogTarget();
private var myLog:ILogger;  
在初始化应用程序的位置设置日志记录:

myLog=Log.getLogger("MyApp");
Log.addTarget(logTarget);
日志内容:

myLog.info("Something something.");
myLog.warn("This is weird!");
myLog.error("This shouldn't happen!");
解决方案的核心是自定义日志目标MyLogTarget.as:

package 
{
    import mx.logging.LogEvent;
    import mx.logging.targets.LineFormattedTarget;

    public class MyLogTarget extends LineFormattedTarget
    {

        public var log:Vector.<String>=new Vector.<String>;

        public function MyLogTarget()
        {
            super();
        }

        override public function logEvent(event:LogEvent):void
        {
            trace(event.message);
            log.push(event.message+"\n");
        }
    }
}
包
{
导入mx.logging.LogEvent;
导入mx.logging.targets.LineFormattedTarget;
公共类MyLogTarget扩展了LineFormattedTarget
{
公共变量日志:向量。=新向量。;
公共函数MyLogTarget()
{
超级();
}
重写公共函数logEvent(事件:logEvent):无效
{
跟踪(事件消息);
log.push(事件消息+“\n”);
}
}
}

这个特定的实现只是将所有跟踪存储在一个字符串向量中,但您可以修改它以将日志保存到磁盘、发送到服务、在屏幕上跟踪或任何适合您的方式。

那么AIR应用程序有一个运行flex应用程序的HTML片段吗?是的,AIR应用程序有一个加载和显示flex(web)的HTML组件应用程序。您可能需要单独调试它们。这似乎是一个很麻烦的安排。如果您使用flex,一个解决方案是使用mx.logging.Log并实现一个自定义LoggingTarget来将跟踪保存到一个文件中,或者在屏幕上显示它。@jpop您能分享一些示例代码吗。我是flex的新手。谢谢