Debugging applications with the Logging framework, Chapter 12, Solution 5

­
<?xml version="1.0" encoding="utf-8"?>
<!--
////////////////////////////////////////////////////////////////////////////////
// Flex Solutions: Essential Techniques for Flex 2 and Flex 3 Developers
// Author: Marco Casario 
// Editor: FriendsOfED www.friendsofed.com
// All Rights Reserved.
//
// Chapter 12: More Flex framework libraries and utilities
// 
// Solution 12-5: Debugging applications with the Logging framework
//
// 
// @author      Marco Casario
// @date        26 November 2007
// @version     1.0
// @site        flexsolutions.comtaste.com
//
////////////////////////////////////////////////////////////////////////////////
-->
 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" 
	creationComplete="onCreationComplete()">
 
	<mx:Script>
		<![CDATA[
			import mx.logging.Log;
			import mx.logging.ILogger;
 
			private var logger:ILogger = null;
 
			private function onCreationComplete():void
			{
				logger = Log.getLogger("Chapter_12_Flex_Sol_5");
 
				logger.info("Application created.");
			}
 
			private function onClear(event:MouseEvent):void
			{
				userInput.text = "";
				passInput.text = "";
 
				logger.debug("onClear()");
			}
 
			private function onSubmit(event:MouseEvent):void
			{
				logger.info("onSubmit(): " + userInput.text + " " + passInput.text);
			}
		]]>
	</mx:Script>
 
	<mx:TraceTarget level="0" includeDate="true" includeTime="true" 
		includeCategory="true" includeLevel="true">
		<mx:filters>
			<mx:Array>
				<mx:String>*</mx:String>
			</mx:Array>
		</mx:filters>
	</mx:TraceTarget>
 
	<mx:StringValidator id="userValidator" minLength="4" source="{userInput}" property="text"
						valid="{logger.debug('valid username: ' + userInput.text)}"
						invalid="{logger.error('invalid username')}" />
 
	<mx:StringValidator id="passValidator" minLength="4" source="{passInput}" property="text"
						valid="{logger.debug('valid password: ' + userInput.text)}"
						invalid="{logger.error('invalid password')}" />
 
	<mx:Form>
		<mx:FormItem label="Username" required="true">
			<mx:TextInput id="userInput" />
		</mx:FormItem>
 
		<mx:FormItem label="Password" required="true">
			<mx:TextInput id="passInput" displayAsPassword="true" />
		</mx:FormItem>
	</mx:Form>
	<mx:ControlBar>
		<mx:Button id="resetButton" label="Reset" click="onClear(event)" />
		<mx:Button id="submitButton" label="Submit" click="onSubmit(event)" />
	</mx:ControlBar>
</mx:Application>