This example shows a simple example of event and deep logging. * GCDPlain.as contain GCD functions; no logging statements. * GCDLogged.as contain GCD functions, logged. * GCDApp.mxml the main App * LoggingSetup contains a program to setup and attach the logger to the app The following libraries are needed to build: * fittest-logUtils.swc * fittest-serialization-delegates.swc * fittest-flash-automation.swc * fittest-flash-automation-delegates.swc In general to log an App, we need to first attach a logger to it. Two steps must be taken: (PRE) BEFORE the App is built, we need to tell the Flash to report to our Automation framework whenever a UI component is added/removed to/from the App. (POST) AFTER the App is built, we need to inpect it to figure out how to construct an abstract representation of its state. The POST-step can be done by hooking a function that does that as a handler of App-complete event. The only way to do the PRE-step is by inserting it as a Mixin. Two things have to be included as Mixin: (1) the Init of LoggingSetup, and (2) the Init of the Automation class. I have configure this example such that the Automation class is already packed in an swc component file. So, the first has to be included as source, the second as a class/package. Check out flex compiler documentation. I use this additional compiler options: -include-libraries ...\libs\fittest-flash-automation.swc -includes LoggerSetup