나는 Air 응용 프로그램을 가지고 있습니다. HTML 구성 요소로 구성됩니다. Flex 어플리케이션을 생성하고 Air Application의 HTML 컴포넌트에서이 어플리케이션을 시작합니다. Air 응용 프로그램의 추적 출력을 캡처 할 수 있지만 플렉스 응용 프로그램의 추적 출력을 캡처 할 수 없습니다. 이 flex 어플리케이션은 Air 어플리케이션의 HTML 컴포넌트에서 시작됩니다. 로그 인쇄물을 출력하는 vizy를 사용합니다. 어떻게 플렉스 웹 어플리케이션의 트레이스 출력을 캡쳐 할 수 있습니까? 감사합니다플렉스 응용 프로그램의 추적 출력을 캡처하는 방법은 무엇입니까?
0
A
답변
0
가능한 한 가지 해결책은 디버그 추적에 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 (웹) 앱을로드하고 표시하는 HTML 구성 요소가 있습니다. –
별도로 디버깅해야 할 수 있습니다. 이것은 성가신 배열처럼 보인다. – ethrbunny