0
我有一個空氣應用程序。它由一個HTML組件組成。我創建了一個Flex應用程序,並在Air Application的HTML組件中啓動此應用程序。我能夠捕獲Air應用程序的跟蹤輸出,但我無法捕獲Flex應用程序的跟蹤輸出。由於此Flex應用程序在Air應用程序的HTML組件中啓動。我使用vizy輸出日誌打印。我如何捕獲Flex Web應用程序的跟蹤輸出。謝謝如何捕獲flex應用程序的跟蹤輸出?
我有一個空氣應用程序。它由一個HTML組件組成。我創建了一個Flex應用程序,並在Air Application的HTML組件中啓動此應用程序。我能夠捕獲Air應用程序的跟蹤輸出,但我無法捕獲Flex應用程序的跟蹤輸出。由於此Flex應用程序在Air應用程序的HTML組件中啓動。我使用vizy輸出日誌打印。我如何捕獲Flex Web應用程序的跟蹤輸出。謝謝如何捕獲flex應用程序的跟蹤輸出?
一個可能的解決方案,使用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");
}
}
}
這個特殊的實現只是將所有的軌跡存儲在一個字符串矢量中,但是你可以修改它來保存日誌到磁盤,將它發送到服務,在屏幕上跟蹤它或者任何適合你的東西。
因此,AIR應用程序具有運行Flex應用程序的HTML代碼片段? – ethrbunny
是的,Air應用程序有一個加載和顯示flex(web)應用程序的HTML組件。 –
您可能需要單獨調試它們。這似乎是一個麻煩的安排。 – ethrbunny