Hi Alex, full compile of this classes means as well that works? This kind of code since is about 80% not flash dependent, could be working? Just curious
thanks Carlos El jue., 4 oct. 2018 a las 20:51, <aha...@apache.org> escribió: > This is an automated email from the ASF dual-hosted git repository. > > aharui pushed a commit to branch develop > in repository https://gitbox.apache.org/repos/asf/royale-asjs.git > > > The following commit(s) were added to refs/heads/develop by this push: > new 16e9336 clean compile of 'full' Flex mx:RemoteObject > 16e9336 is described below > > commit 16e9336a55cfaca4c042a9e33949d1eef32b309b > Author: Alex Harui <aha...@apache.org> > AuthorDate: Thu Oct 4 11:51:17 2018 -0700 > > clean compile of 'full' Flex mx:RemoteObject > --- > .../src/main/resources/mx-royale-manifest.xml | 2 + > .../MXRoyale/src/main/royale/MXRoyaleClasses.as | 1 - > .../LogEventLevel.as => core/IMXMLObject.as} | 34 +- > .../IllegalOperationError.as} | 68 +- > .../events/{IOErrorEvent.as => AsyncErrorEvent.as} | 12 +- > .../mx/events/{IOErrorEvent.as => ErrorEvent.as} | 16 +- > .../src/main/royale/mx/events/IOErrorEvent.as | 2 +- > .../events/{IOErrorEvent.as => NetStatusEvent.as} | 14 +- > .../main/royale/mx/events/SecurityErrorEvent.as | 2 +- > .../MXRoyale/src/main/royale/mx/logging/ILogger.as | 303 +- > .../src/main/royale/mx/logging/ILoggingTarget.as | 166 + > .../MXRoyale/src/main/royale/mx/logging/Log.as | 96 +- > .../src/main/royale/mx/logging/LogEvent.as | 230 ++ > .../src/main/royale/mx/logging/LogEventLevel.as | 64 +- > .../src/main/royale/mx/logging/LogLogger.as | 258 ++ > .../InvalidCategoryError.as} | 58 +- > .../main/royale/mx/messaging/AbstractConsumer.as | 997 +++++ > .../main/royale/mx/messaging/AbstractProducer.as | 760 ++++ > .../src/main/royale/mx/messaging/Channel.as | 1743 ++++++++ > .../src/main/royale/mx/messaging/ChannelSet.as | 4312 > ++++++++++---------- > .../src/main/royale/mx/messaging/Consumer.as | 273 ++ > .../mx/messaging/ConsumerMessageDispatcher.as | 326 ++ > .../src/main/royale/mx/messaging/MessageAgent.as | 1391 +++++++ > .../main/royale/mx/messaging/MessageResponder.as | 386 ++ > .../src/main/royale/mx/messaging/Producer.as | 214 + > .../src/main/royale/mx/messaging/RoyaleClient.as | 167 + > .../royale/mx/messaging/channels/AMFChannel.as | 123 +- > .../mx/messaging/channels/NetConnectionChannel.as | 764 ++++ > .../royale/mx/messaging/channels/PollingChannel.as | 991 +++++ > .../mx/messaging/channels/SecureAMFChannel.as | 80 + > .../main/royale/mx/messaging/config/ConfigMap.as | 339 ++ > .../royale/mx/messaging/config/LoaderConfig.as | 174 + > .../royale/mx/messaging/config/ServerConfig.as | 768 ++++ > .../errors/ArgumentError.as} | 57 +- > .../errors/ChannelError.as} | 32 +- > .../errors/InvalidChannelError.as} | 45 +- > .../mx/messaging/errors/InvalidDestinationError.as | 68 + > .../errors/MessagingError.as} | 57 +- > .../errors/NoChannelAvailableError.as} | 42 +- > .../royale/mx/messaging/events/ChannelEvent.as | 325 ++ > .../mx/messaging/events/ChannelFaultEvent.as | 328 ++ > .../royale/mx/messaging/events/MessageAckEvent.as | 238 ++ > .../royale/mx/messaging/events/MessageEvent.as | 255 ++ > .../mx/messaging/events/MessageFaultEvent.as | 309 ++ > .../mx/messaging/messages/AbstractMessage.as | 757 ++++ > .../mx/messaging/messages/AcknowledgeMessage.as | 139 + > .../mx/messaging/messages/AcknowledgeMessageExt.as | 74 + > .../royale/mx/messaging/messages/AsyncMessage.as | 254 ++ > .../mx/messaging/messages/AsyncMessageExt.as | 79 + > .../royale/mx/messaging/messages/CommandMessage.as | 567 +++ > .../mx/messaging/messages/CommandMessageExt.as | 79 + > .../royale/mx/messaging/messages/ErrorMessage.as | 173 + > .../messages/ISmallMessage.as} | 43 +- > .../messaging/messages/MessagePerformanceInfo.as | 282 ++ > .../messaging/messages/MessagePerformanceUtils.as | 553 +++ > .../mx/messaging/messages/RemotingMessage.as | 95 + > .../src/main/royale/mx/net/NetConnection.as | 130 + > .../LogEventLevel.as => net/ObjectEncoding.as} | 57 +- > .../{logging/LogEventLevel.as => net/Responder.as} | 51 +- > .../src/main/royale/mx/netmon/NetworkMonitor.as | 275 ++ > .../src/main/royale/mx/rpc/AbstractInvoker.as | 540 +++ > .../src/main/royale/mx/rpc/AbstractOperation.as | 278 ++ > .../src/main/royale/mx/rpc/AbstractService.as | 706 ++++ > .../MXRoyale/src/main/royale/mx/rpc/ActiveCalls.as | 95 + > .../src/main/royale/mx/rpc/AsyncDispatcher.as | 71 + > .../src/main/royale/mx/rpc/AsyncRequest.as | 181 + > .../MXRoyale/src/main/royale/mx/rpc/Fault.as | 28 +- > .../LogEventLevel.as => rpc/IResponder.as} | 50 +- > .../MXRoyale/src/main/royale/mx/rpc/Responder.as | 181 +- > .../events/AbstractEvent.as} | 63 +- > .../src/main/royale/mx/rpc/events/FaultEvent.as | 549 ++- > .../src/main/royale/mx/rpc/events/InvokeEvent.as | 27 +- > .../src/main/royale/mx/rpc/events/ResultEvent.as | 512 ++- > .../src/main/royale/mx/rpc/mxml/Concurrency.as | 71 + > .../src/main/royale/mx/rpc/mxml/IMXMLSupport.as | 83 + > .../src/main/royale/mx/rpc/remoting/Operation.as | 345 ++ > .../main/royale/mx/rpc/remoting/RemoteObject.as | 692 ++-- > .../main/royale/mx/rpc/remoting/mxml/Operation.as | 95 + > .../royale/mx/rpc/remoting/mxml/RemoteObject.as | 424 +- > .../src/main/royale/mx/utils/Base64Encoder.as | 7 +- > .../src/main/royale/mx/utils/RPCObjectUtil.as | 790 ++++ > .../src/main/royale/mx/utils/RPCStringUtil.as | 152 + > .../src/main/royale/mx/utils/RPCUIDUtil.as | 131 + > .../MXRoyale/src/main/royale/mx/utils/URLUtil.as | 1544 +++---- > 84 files changed, 23661 insertions(+), 4452 deletions(-) > > diff --git > a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml > b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml > index 8ee5b7e..c90ce35 100644 > --- > a/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml > +++ > b/frameworks/projects/MXRoyale/src/main/resources/mx-royale-manifest.xml > @@ -140,8 +140,10 @@ > <component id="AdvancedDataGridItemRenderer" > class="mx.controls.advancedDataGridClasses.AdvancedDataGridItemRenderer" /> > <component id="LineSeries" class="mx.charts.series.LineSeries" /> > <component id="Tree" class="mx.controls.Tree"/> > + > <component id="AMFChannel" > class="mx.messaging.channels.AMFChannel" /> > <component id="ChannelSet" class="mx.messaging.ChannelSet" /> > + > <component id="ListCollectionView" > class="mx.collections.ListCollectionView"/> > <component id="ArrayCollection" > class="mx.collections.ArrayCollection"/> > <component id="Alert" class="mx.controls.Alert" /> > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as > b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as > index a4ea11c..e5acdb1 100644 > --- a/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as > +++ b/frameworks/projects/MXRoyale/src/main/royale/MXRoyaleClasses.as > @@ -67,7 +67,6 @@ internal class MXRoyaleClasses > import mx.core.ClassFactory; ClassFactory; > import mx.effects.Tween; Tween; > import mx.system.ApplicationDomain; ApplicationDomain; > - import mx.rpc.remoting.RemoteObject; mx.rpc.remoting.RemoteObject; > import mx.rpc.http.HTTPService; mx.rpc.http.HTTPService; > import mx.controls.treeClasses.ITreeDataDescriptor; > ITreeDataDescriptor; > import mx.controls.treeClasses.TreeListData; TreeListData; > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/core/IMXMLObject.as > similarity index 62% > copy from > frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > copy to frameworks/projects/MXRoyale/src/main/royale/mx/core/IMXMLObject.as > index 070d24b..9b6ec90 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/core/IMXMLObject.as > @@ -17,39 +17,45 @@ > // > > > //////////////////////////////////////////////////////////////////////////////// > > -package mx.logging > +package mx.core > { > - > + > /** > - * Static class containing constants for use in the <code>level</code> > - * property. > + * The IMXMLObject interface defines the APIs that a non-visual component > + * must implement in order to work properly with the MXML compiler. > + * Currently, the only supported method is the <code>initialized()</code> > + * method. > * > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > -public final class LogEventLevel > +public interface IMXMLObject > { > -/* include "../core/Version.as"; > - */ > > //-------------------------------------------------------------------------- > // > - // Class constants > + // Methods > // > > //-------------------------------------------------------------------------- > > - > - > /** > - * Tells a target to process all messages. > + * Called after the implementing object has been created and all > + * component properties specified on the MXML tag have been > initialized. > + * > + * @param document The MXML document that created this object. > + * > + * @param id The identifier used by <code>document</code> to refer > + * to this object. > + * If the object is a deep property on <code>document</code>, > + * <code>id</code> is null. > * > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - public static const ALL:int = 0; > + function initialized(document:Object, id:String):void; > } > > } > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/errors/IllegalOperationError.as > similarity index 50% > copy from > frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > copy to > frameworks/projects/MXRoyale/src/main/royale/mx/errors/IllegalOperationError.as > index 070d24b..b0b6529 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > +++ > b/frameworks/projects/MXRoyale/src/main/royale/mx/errors/IllegalOperationError.as > @@ -17,39 +17,69 @@ > // > > > //////////////////////////////////////////////////////////////////////////////// > > -package mx.logging > +package mx.errors > { > - > -/** > - * Static class containing constants for use in the <code>level</code> > - * property. > - * > +COMPILE::SWF{ > +import flash.errors.IllegalOperationError; > +} > + > +/* > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion BlazeDS 4 > + * @productversion LCDS 3 > + * > + * @royalesuppresspublicvarwarning > */ > -public final class LogEventLevel > +COMPILE::SWF > +public class IllegalOperationError extends > flash.errors.IllegalOperationError > { > -/* include "../core/Version.as"; > - */ > - > //-------------------------------------------------------------------------- > - // > - // Class constants > - // > - > //-------------------------------------------------------------------------- > + > //-------------------------------------------------------------------------- > + // > + // Constructor > + // > + > //-------------------------------------------------------------------------- > + > + /** > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion BlazeDS 4 > + * @productversion LCDS 3 > + */ > + public function IllegalOperationError(message:String = "") > + { > + super(message); > + } > + > + > +} > > - > +COMPILE::JS > +public class IllegalOperationError > +{ > + > //-------------------------------------------------------------------------- > + // > + // Constructor > + // > + > //-------------------------------------------------------------------------- > > /** > - * Tells a target to process all messages. > * > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion BlazeDS 4 > + * @productversion LCDS 3 > */ > - public static const ALL:int = 0; > + public function IllegalOperationError(message:String = "") > + { > + super(); > + } > + > + > } > > } > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/AsyncErrorEvent.as > similarity index 85% > copy from > frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > copy to > frameworks/projects/MXRoyale/src/main/royale/mx/events/AsyncErrorEvent.as > index 4c98af1..8052ed2 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > +++ > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/AsyncErrorEvent.as > @@ -21,7 +21,7 @@ package mx.events > { > COMPILE::SWF > { > -import flash.events.IOErrorEvent; > +import flash.events.AsyncErrorEvent; > } > /* import mx.events.Event;*/ > import org.apache.royale.events.Event; > @@ -37,9 +37,9 @@ import org.apache.royale.events.IRoyaleEvent; > * @royalesuppresspublicvarwarning > */ > COMPILE::SWF > -public class IOErrorEvent extends flash.events.IOErrorEvent > +public class AsyncErrorEvent extends flash.events.AsyncErrorEvent > { > - public function IOErrorEvent(type:String, bubbles:Boolean = false, > + public function AsyncErrorEvent(type:String, bubbles:Boolean = > false, > > cancelable:Boolean = false, text:String = "", id:int = 0 > ) > { > @@ -59,10 +59,10 @@ public class IOErrorEvent extends > flash.events.IOErrorEvent > * @royalesuppresspublicvarwarning > */ > COMPILE::JS > -public class IOErrorEvent extends org.apache.royale.events.Event > +public class AsyncErrorEvent extends ErrorEvent > { > /* include "../core/Version.as"; */ > - public static const IO_ERROR:String = "ioError"; > + public static const ASYNC_ERROR:String = "asyncError"; > > > //-------------------------------------------------------------------------- > // > @@ -93,7 +93,7 @@ public class IOErrorEvent extends > org.apache.royale.events.Event > * @playerversion AIR 1.1 > * @productversion Royale 0.9.3 > */ > - public function IOErrorEvent(type:String, bubbles:Boolean = false, > + public function AsyncErrorEvent(type:String, bubbles:Boolean = > false, > > cancelable:Boolean = false, text:String = "", id:int = 0 > ) > { > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/ErrorEvent.as > similarity index 83% > copy from > frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > copy to > frameworks/projects/MXRoyale/src/main/royale/mx/events/ErrorEvent.as > index 4c98af1..3bf3094 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/events/ErrorEvent.as > @@ -21,7 +21,7 @@ package mx.events > { > COMPILE::SWF > { > -import flash.events.IOErrorEvent; > +import flash.events.ErrorEvent; > } > /* import mx.events.Event;*/ > import org.apache.royale.events.Event; > @@ -37,9 +37,9 @@ import org.apache.royale.events.IRoyaleEvent; > * @royalesuppresspublicvarwarning > */ > COMPILE::SWF > -public class IOErrorEvent extends flash.events.IOErrorEvent > +public class ErrorEvent extends flash.events.ErrorEvent > { > - public function IOErrorEvent(type:String, bubbles:Boolean = false, > + public function ErrorEvent(type:String, bubbles:Boolean = false, > > cancelable:Boolean = false, text:String = "", id:int = 0 > ) > { > @@ -59,10 +59,9 @@ public class IOErrorEvent extends > flash.events.IOErrorEvent > * @royalesuppresspublicvarwarning > */ > COMPILE::JS > -public class IOErrorEvent extends org.apache.royale.events.Event > +public class ErrorEvent extends org.apache.royale.events.Event > { > - /* include "../core/Version.as"; */ > - public static const IO_ERROR:String = "ioError"; > + public static const ERROR:String = "error"; > > > //-------------------------------------------------------------------------- > // > @@ -93,15 +92,16 @@ public class IOErrorEvent extends > org.apache.royale.events.Event > * @playerversion AIR 1.1 > * @productversion Royale 0.9.3 > */ > - public function IOErrorEvent(type:String, bubbles:Boolean = false, > + public function ErrorEvent(type:String, bubbles:Boolean = false, > > cancelable:Boolean = false, text:String = "", id:int = 0 > ) > { > super(type, bubbles, cancelable); > + this.text = text; > } > > > - > + public var text:String; > > > } > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > index 4c98af1..86dd175 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > +++ > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > @@ -59,7 +59,7 @@ public class IOErrorEvent extends > flash.events.IOErrorEvent > * @royalesuppresspublicvarwarning > */ > COMPILE::JS > -public class IOErrorEvent extends org.apache.royale.events.Event > +public class IOErrorEvent extends ErrorEvent > { > /* include "../core/Version.as"; */ > public static const IO_ERROR:String = "ioError"; > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/NetStatusEvent.as > similarity index 84% > copy from > frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > copy to > frameworks/projects/MXRoyale/src/main/royale/mx/events/NetStatusEvent.as > index 4c98af1..96f7664 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/IOErrorEvent.as > +++ > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/NetStatusEvent.as > @@ -21,7 +21,7 @@ package mx.events > { > COMPILE::SWF > { > -import flash.events.IOErrorEvent; > +import flash.events.NetStatusEvent; > } > /* import mx.events.Event;*/ > import org.apache.royale.events.Event; > @@ -37,9 +37,9 @@ import org.apache.royale.events.IRoyaleEvent; > * @royalesuppresspublicvarwarning > */ > COMPILE::SWF > -public class IOErrorEvent extends flash.events.IOErrorEvent > +public class NetStatusEvent extends flash.events.NetStatusEvent > { > - public function IOErrorEvent(type:String, bubbles:Boolean = false, > + public function NetStatusEvent(type:String, bubbles:Boolean = > false, > > cancelable:Boolean = false, text:String = "", id:int = 0 > ) > { > @@ -59,10 +59,10 @@ public class IOErrorEvent extends > flash.events.IOErrorEvent > * @royalesuppresspublicvarwarning > */ > COMPILE::JS > -public class IOErrorEvent extends org.apache.royale.events.Event > +public class NetStatusEvent extends org.apache.royale.events.Event > { > /* include "../core/Version.as"; */ > - public static const IO_ERROR:String = "ioError"; > + public static const NET_STATUS:String = "netStatus"; > > > //-------------------------------------------------------------------------- > // > @@ -93,7 +93,7 @@ public class IOErrorEvent extends > org.apache.royale.events.Event > * @playerversion AIR 1.1 > * @productversion Royale 0.9.3 > */ > - public function IOErrorEvent(type:String, bubbles:Boolean = false, > + public function NetStatusEvent(type:String, bubbles:Boolean = > false, > > cancelable:Boolean = false, text:String = "", id:int = 0 > ) > { > @@ -101,7 +101,7 @@ public class IOErrorEvent extends > org.apache.royale.events.Event > } > > > - > + public var info:Object; > > > } > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/SecurityErrorEvent.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/SecurityErrorEvent.as > index 6e0df97..a5cfb17 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/events/SecurityErrorEvent.as > +++ > b/frameworks/projects/MXRoyale/src/main/royale/mx/events/SecurityErrorEvent.as > @@ -58,7 +58,7 @@ public class SecurityErrorEvent extends > flash.events.SecurityErrorEvent > * @royalesuppresspublicvarwarning > */ > COMPILE::JS > -public class SecurityErrorEvent extends org.apache.royale.events.Event > +public class SecurityErrorEvent extends ErrorEvent > { > /* include "../core/Version.as"; */ > public static const SECURITY_ERROR:String = "securityError"; > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/ILogger.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/ILogger.as > index 2f8b72c..519ba5d 100644 > --- a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/ILogger.as > +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/ILogger.as > @@ -20,20 +20,309 @@ > package mx.logging > { > > -/* import flash.events.IEventDispatcher; > - */ > - import org.apache.royale.events.IEventDispatcher; > +import org.apache.royale.events.IEventDispatcher; > + > /** > * All loggers within the logging framework must implement this > interface. > * > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > -public interface ILogger extends org.apache.royale.events.IEventDispatcher > +public interface ILogger extends IEventDispatcher > { > - > -} > + > //-------------------------------------------------------------------------- > + // > + // Properties > + // > + > //-------------------------------------------------------------------------- > + > + //---------------------------------- > + // category > + //---------------------------------- > + > + /** > + * The category value for the logger. > + * > + * @return String containing the category for this logger. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function get category():String; > + > + > //-------------------------------------------------------------------------- > + // > + // Methods > + // > + > //-------------------------------------------------------------------------- > + > + /** > + * Logs the specified data at the given level. > + * > + * <p>The String specified for logging can contain braces with an > index > + * indicating which additional parameter should be inserted > + * into the String before it is logged. > + * For example "the first additional parameter was {0} the second > was {1}" > + * is translated into "the first additional parameter was 10 the > + * second was 15" when called with 10 and 15 as parameters.</p> > + * > + * @param level The level this information should be logged at. > + * Valid values are: > + * <ul> > + * <li><code>LogEventLevel.FATAL</code> designates events that are > very > + * harmful and will eventually lead to application failure</li> > + * > + * <li><code>LogEventLevel.ERROR</code> designates error events > + * that might still allow the application to continue running.</li> > + * > + * <li><code>LogEventLevel.WARN</code> designates events that > could be > + * harmful to the application operation</li> > + * > + * <li><code>LogEventLevel.INFO</code> designates informational > messages > + * that highlight the progress of the application at > + * coarse-grained level.</li> > + * > + * <li><code>LogEventLevel.DEBUG</code> designates informational > + * level messages that are fine grained and most helpful when > + * debugging an application.</li> > + * </ul> > + * > + * @param message The information to log. > + * This String can contain special marker characters of the form {x}, > + * where x is a zero based index that will be replaced with > + * the additional parameters found at that index if specified. > + * > + * @param rest Additional parameters that can be subsituted in the > str > + * parameter at each "{<code>x</code>}" location, where > <code>x</code> > + * is an integer (zero based) index value into the Array of values > + * specified. > + * > + * @example > + * <pre> > + * // Get the logger for the mx.messaging.Channel "category" > + * // and send some data to it. > + * var logger:ILogger = Log.getLogger("mx.messaging.Channel"); > + * logger.log(LogEventLevel.DEBUG, "here is some channel info {0} > and {1}", LogEventLevel.DEBUG, 15.4, true); > + * > + * // This will log the following String as a DEBUG log message: > + * // "here is some channel info 15.4 and true" > + * </pre> > + * > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function log(level:int, message:String, ... rest):void; > > + /** > + * Logs the specified data using the <code>LogEventLevel.DEBUG</code> > + * level. > + * <code>LogEventLevel.DEBUG</code> designates informational level > + * messages that are fine grained and most helpful when debugging > + * an application. > + * > + * <p>The string specified for logging can contain braces with an > index > + * indicating which additional parameter should be inserted > + * into the string before it is logged. > + * For example "the first additional parameter was {0} the second > was {1}" > + * will be translated into "the first additional parameter was 10 the > + * second was 15" when called with 10 and 15 as parameters.</p> > + * > + * @param message The information to log. > + * This string can contain special marker characters of the form {x}, > + * where x is a zero based index that will be replaced with > + * the additional parameters found at that index if specified. > + * > + * @param rest Additional parameters that can be subsituted in the > str > + * parameter at each "{<code>x</code>}" location, where > <code>x</code> > + * is an integer (zero based) index value into the Array of values > + * specified. > + * > + * @example > + * <pre> > + * // Get the logger for the mx.messaging.Channel "category" > + * // and send some data to it. > + * var logger:ILogger = Log.getLogger("mx.messaging.Channel"); > + * logger.debug("here is some channel info {0} and {1}", 15.4, true); > + * > + * // This will log the following String: > + * // "here is some channel info 15.4 and true" > + * </pre> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function debug(message:String, ... rest):void; > + > + /** > + * Logs the specified data using the <code>LogEventLevel.ERROR</code> > + * level. > + * <code>LogEventLevel.ERROR</code> designates error events > + * that might still allow the application to continue running. > + * > + * <p>The string specified for logging can contain braces with an > index > + * indicating which additional parameter should be inserted > + * into the string before it is logged. > + * For example "the first additional parameter was {0} the second > was {1}" > + * will be translated into "the first additional parameter was 10 the > + * second was 15" when called with 10 and 15 as parameters.</p> > + * > + * @param message The information to log. > + * This String can contain special marker characters of the form {x}, > + * where x is a zero based index that will be replaced with > + * the additional parameters found at that index if specified. > + * > + * @param rest Additional parameters that can be subsituted in the > str > + * parameter at each "{<code>x</code>}" location, where > <code>x</code> > + * is an integer (zero based) index value into the Array of values > + * specified. > + * > + * @example > + * <pre> > + * // Get the logger for the mx.messaging.Channel "category" > + * // and send some data to it. > + * var logger:ILogger = Log.getLogger("mx.messaging.Channel"); > + * logger.error("here is some channel info {0} and {1}", 15.4, true); > + * > + * // This will log the following String: > + * // "here is some channel info 15.4 and true" > + * </pre> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function error(message:String, ... rest):void; > + > + /** > + * Logs the specified data using the > <code>LogEventLevel.FATAL</code> > + * level. > + * <code>LogEventLevel.FATAL</code> designates events that are very > + * harmful and will eventually lead to application failure > + * > + * <p>The string specified for logging can contain braces with an > index > + * indicating which additional parameter should be inserted > + * into the string before it is logged. > + * For example "the first additional parameter was {0} the second > was {1}" > + * will be translated into "the first additional parameter was 10 the > + * second was 15" when called with 10 and 15 as parameters.</p> > + * > + * @param message The information to log. > + * This String can contain special marker characters of the form {x}, > + * where x is a zero based index that will be replaced with > + * the additional parameters found at that index if specified. > + * > + * @param rest Additional parameters that can be subsituted in the > str > + * parameter at each "{<code>x</code>}" location, where > <code>x</code> > + * is an integer (zero based) index value into the Array of values > + * specified. > + * > + * @example > + * <pre> > + * // Get the logger for the mx.messaging.Channel "category" > + * // and send some data to it. > + * var logger:ILogger = Log.getLogger("mx.messaging.Channel"); > + * logger.fatal("here is some channel info {0} and {1}", 15.4, true); > + * > + * // This will log the following String: > + * // "here is some channel info 15.4 and true" > + * </pre> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function fatal(message:String, ... rest):void; > + > + /** > + * Logs the specified data using the <code>LogEvent.INFO</code> > level. > + * <code>LogEventLevel.INFO</code> designates informational messages > that > + * highlight the progress of the application at coarse-grained level. > + * > + * <p>The string specified for logging can contain braces with an > index > + * indicating which additional parameter should be inserted > + * into the string before it is logged. > + * For example "the first additional parameter was {0} the second > was {1}" > + * will be translated into "the first additional parameter was 10 the > + * second was 15" when called with 10 and 15 as parameters.</p> > + * > + * @param message The information to log. > + * This String can contain special marker characters of the form {x}, > + * where x is a zero based index that will be replaced with > + * the additional parameters found at that index if specified. > + * > + * @param rest Additional parameters that can be subsituted in the > str > + * parameter at each "{<code>x</code>}" location, where > <code>x</code> > + * is an integer (zero based) index value into the Array of values > + * specified. > + * > + * @example > + * <pre> > + * // Get the logger for the mx.messaging.Channel "category" > + * // and send some data to it. > + * var logger:ILogger = Log.getLogger("mx.messaging.Channel"); > + * logger.info("here is some channel info {0} and {1}", 15.4, true); > + * > + * // This will log the following String: > + * // "here is some channel info 15.4 and true" > + * </pre> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function info(message:String, ... rest):void; > + > + /** > + * Logs the specified data using the <code>LogEventLevel.WARN</code> > level. > + * <code>LogEventLevel.WARN</code> designates events that could be > harmful > + * to the application operation. > + * > + * <p>The string specified for logging can contain braces with an > index > + * indicating which additional parameter should be inserted > + * into the string before it is logged. > + * For example "the first additional parameter was {0} the second > was {1}" > + * will be translated into "the first additional parameter was 10 the > + * second was 15" when called with 10 and 15 as parameters.</p> > + * > + * @param message The information to log. > + * This String can contain special marker characters of the form {x}, > + * where x is a zero based index that will be replaced with > + * the additional parameters found at that index if specified. > + * > + * @param rest Aadditional parameters that can be subsituted in the > str > + * parameter at each "{<code>x</code>}" location, where > <code>x</code> > + * is an integer (zero based) index value into the Array of values > + * specified. > + * > + * @example > + * <pre> > + * // Get the logger for the mx.messaging.Channel "category" > + * // and send some data to it. > + * var logger:ILogger = Log.getLogger("mx.messaging.Channel"); > + * logger.warn("here is some channel info {0} and {1}", 15.4, true); > + * > + * // This will log the following String: > + * // "here is some channel info 15.4 and true" > + * </pre> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function warn(message:String, ... rest):void; > } > + > +} > \ No newline at end of file > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/ILoggingTarget.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/ILoggingTarget.as > new file mode 100644 > index 0000000..b08779f > --- /dev/null > +++ > b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/ILoggingTarget.as > @@ -0,0 +1,166 @@ > > +//////////////////////////////////////////////////////////////////////////////// > +// > +// Licensed to the Apache Software Foundation (ASF) under one or more > +// contributor license agreements. See the NOTICE file distributed with > +// this work for additional information regarding copyright ownership. > +// The ASF licenses this file to You under the Apache License, Version > 2.0 > +// (the "License"); you may not use this file except in compliance with > +// the License. You may obtain a copy of the License at > +// > +// http://www.apache.org/licenses/LICENSE-2.0 > +// > +// Unless required by applicable law or agreed to in writing, software > +// distributed under the License is distributed on an "AS IS" BASIS, > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > +// See the License for the specific language governing permissions and > +// limitations under the License. > +// > > +//////////////////////////////////////////////////////////////////////////////// > + > +package mx.logging > +{ > + > +/** > + * All logger target implementations within the logging framework > + * must implement this interface. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > +public interface ILoggingTarget > +{ > + > //-------------------------------------------------------------------------- > + // > + // Properties > + // > + > //-------------------------------------------------------------------------- > + > + //---------------------------------- > + // filters > + //---------------------------------- > + > + /** > + * In addition to the <code>level</code> setting, filters are used to > + * provide a psuedo-hierarchical mapping for processing only those > events > + * for a given category. > + * > + * <p>Each logger belongs to a category. > + * By convention these categories map to the fully qualified class > name > + * in which the logger is used. > + * For example, a logger that is logging messages for the > + * <code>mx.rpc.soap.WebService</code> class would use > + * <code>"mx.rpc.soap.WebService"</code> as the parameter > + * to the <code>Log.getLogger()</code> call. > + * When messages are sent under this category only those targets > that have > + * a filter which matches that category will receive notification of > those > + * events. > + * Filter expressions may include a wildcard match, indicated with an > + * asterisk. > + * The wildcard must be the right most character in the expression. > + * For example: rpc~~, mx.~~, or ~~. > + * If an invalid expression is specified a > <code>InvalidFilterError</code> > + * will be thrown. > + * No spaces or any of the following characters are valid within a > filter > + * expression: []~$^&\/(){}<>+=`!#%?,:;'"@.</p> > + * > + * @example > + * <pre> > + * var traceLogger:ILoggingTarget = new TraceTarget(); > + * traceLogger.filters = [ "mx.rpc.~~", "mx.messaging.~~" ]; > + * Log.addTarget(traceLogger); > + * </pre> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function get filters():Array; > + > + /** > + * @private > + */ > + function set filters(value:Array):void; > + > + //---------------------------------- > + // level > + //---------------------------------- > + > + /** > + * Provides access to the level this target is currently set at. > + * Value values are: > + * <ul> > + * <li><code>LogEventLevel.FATAL</code> designates events that are > very > + * harmful and will eventually lead to application failure</li> > + * > + * <li><code>LogEventLevel.ERROR</code> designates error events > that might > + * still allow the application to continue running.</li> > + * > + * <li><code>LogEventLevel.WARN</code> designates events that > could be > + * harmful to the application operation</li> > + * > + * <li><code>LogEventLevel.INFO</code> designates informational > messages > + * that highlight the progress of the application at > + * coarse-grained level.</li> > + * > + * <li><code>LogEventLevel.DEBUG</code> designates informational > + * level messages that are fine grained and most helpful when > + * debugging an application.</li> > + * > + * <li><code>LogEventLevel.ALL</code> intended to force a target to > + * process all messages.</li> > + * </ul> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function get level():int; > + > + /** > + * @private > + */ > + function set level(value:int):void; > + > + > //-------------------------------------------------------------------------- > + // > + // Methods > + // > + > //-------------------------------------------------------------------------- > + > + /** > + * Sets up this target with the specified logger. > + * This allows this target to receive log events from the specified > logger. > + * > + * <p><b>Note:</b> This method is called by the framework > + * and should not be called by you directly.</p> > + * > + * @param logger The ILogger that this target listens to. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function addLogger(logger:ILogger):void; > + > + /** > + * Stops this target from receiving events from the specified logger. > + * > + * <p><b>Note:</b> This method is called by the framework > + * and should not be called by you directly.</p> > + * > + * @param logger The ILogger that this target ignores. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + function removeLogger(logger:ILogger):void; > +} > + > +} > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as > index c3fcd34..aa67b57 100644 > --- a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as > +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/Log.as > @@ -19,12 +19,14 @@ > > package mx.logging > { > -/* > + > import mx.logging.errors.InvalidCategoryError; > import mx.managers.ISystemManager; > import mx.managers.SystemManager; > +import mx.messaging.errors.ArgumentError; > import mx.resources.IResourceManager; > -import mx.resources.ResourceManager; */ > +import mx.resources.ResourceManager; > + > //[ResourceBundle("logging")] > > /** > @@ -92,11 +94,11 @@ import mx.resources.ResourceManager; */ > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > public class Log > { > - // include "../core/Version.as"; > +// include "../core/Version.as"; > > > //-------------------------------------------------------------------------- > // > @@ -108,13 +110,13 @@ public class Log > * @private > * Sentinal value for the target log level to indicate no logging. > */ > - // private static var NONE:int = int.MAX_VALUE; > + private static var NONE:int = int.MAX_VALUE; > > /** > * @private > * The most verbose supported log level among registered targets. > */ > - // private static var _targetLevel:int = NONE; > + private static var _targetLevel:int = NONE; > // Initialize target level to a value out of range. > > /** > @@ -128,7 +130,7 @@ public class Log > * Array of targets that should be searched any time > * a new logger is created. > */ > - // private static var _targets:Array = []; > + private static var _targets:Array = []; > > /** > * @private > @@ -137,7 +139,7 @@ public class Log > * not at static initialization time, in order to ensure > * that the Singleton registry has already been initialized. > */ > - //private static var _resourceManager:IResourceManager; > + private static var _resourceManager:IResourceManager; > > /** > * @private > @@ -146,13 +148,13 @@ public class Log > * This is a singleton instance which implements > * the IResourceManager interface. > */ > - /* private static function get resourceManager():IResourceManager > + private static function get resourceManager():IResourceManager > { > if (!_resourceManager) > _resourceManager = ResourceManager.getInstance(); > > return _resourceManager; > - } */ > + } > > > //-------------------------------------------------------------------------- > // > @@ -169,12 +171,12 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function isFatal():Boolean > + public static function isFatal():Boolean > { > return (_targetLevel <= LogEventLevel.FATAL) ? true : false; > - } */ > + } > > /** > * Indicates whether an error level log event will be processed by a > @@ -185,12 +187,12 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function isError():Boolean > + public static function isError():Boolean > { > return (_targetLevel <= LogEventLevel.ERROR) ? true : false; > - } */ > + } > > /** > * Indicates whether a warn level log event will be processed by a > @@ -201,12 +203,12 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function isWarn():Boolean > + public static function isWarn():Boolean > { > return (_targetLevel <= LogEventLevel.WARN) ? true : false; > - } */ > + } > > /** > * Indicates whether an info level log event will be processed by a > @@ -217,12 +219,12 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function isInfo():Boolean > + public static function isInfo():Boolean > { > return (_targetLevel <= LogEventLevel.INFO) ? true : false; > - } */ > + } > > /** > * Indicates whether a debug level log event will be processed by a > @@ -233,12 +235,12 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function isDebug():Boolean > + public static function isDebug():Boolean > { > return (_targetLevel <= LogEventLevel.DEBUG) ? true : false; > - } */ > + } > > /** > * Allows the specified target to begin receiving notification of log > @@ -249,9 +251,9 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function addTarget(target:ILoggingTarget):void > + public static function addTarget(target:ILoggingTarget):void > { > if (target) > { > @@ -280,7 +282,7 @@ public class Log > "logging", "invalidTarget"); > throw new ArgumentError(message); > } > - } */ > + } > > /** > * Stops the specified target from receiving notification of log > @@ -291,9 +293,9 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function removeTarget(target:ILoggingTarget):void > + public static function removeTarget(target:ILoggingTarget):void > { > if (target) > { > @@ -324,7 +326,7 @@ public class Log > "logging", "invalidTarget"); > throw new ArgumentError(message); > } > - } */ > + } > > /** > * Returns the logger associated with the specified category. > @@ -345,18 +347,18 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > public static function getLogger(category:String):ILogger > { > - // checkCategory(category); > + checkCategory(category); > if (!_loggers) > _loggers = []; > > // get the logger for the specified category or create one if it > // doesn't exist > var result:ILogger = _loggers[category]; > - /* if (result == null) > + if (result == null) > { > result = new LogLogger(category); > _loggers[category] = result; > @@ -369,7 +371,7 @@ public class Log > target = ILoggingTarget(_targets[i]); > if (categoryMatchInFilterList(category, target.filters)) > target.addLogger(result); > - } */ > + } > > return result; > } > @@ -383,14 +385,14 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function flush():void > + public static function flush():void > { > _loggers = []; > _targets = []; > _targetLevel = NONE; > - } */ > + } > > /** > * This method checks the specified string value for illegal > characters. > @@ -404,13 +406,13 @@ public class Log > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > - /* public static function hasIllegalCharacters(value:String):Boolean > + public static function hasIllegalCharacters(value:String):Boolean > { > return > value.search(/[\[\]\~\$\^\&\\(\)\{\}\+\?\/=`!@#%,:;'"<>\s]/) != -1; > } > - */ > + > // private members > /** > * This method checks that the specified category matches any of the > filter > @@ -423,7 +425,7 @@ public class Log > * otherwise. > * @private > */ > - /* private static function categoryMatchInFilterList(category:String, > filters:Array):Boolean > + private static function categoryMatchInFilterList(category:String, > filters:Array):Boolean > { > var result:Boolean = false; > var filter:String; > @@ -444,7 +446,7 @@ public class Log > return true; > } > return false; > - } */ > + } > > /** > * This method will ensure that a valid category string has been > specified. > @@ -454,7 +456,7 @@ public class Log > * []`*~,!#$%^&()]{}+=\|'";?><./@ or be less than 1 > character in length. > * @private > */ > - /* private static function checkCategory(category:String):void > + private static function checkCategory(category:String):void > { > var message:String; > > @@ -471,14 +473,14 @@ public class Log > "logging", "invalidChars"); > throw new InvalidCategoryError(message); > } > - } */ > + } > > /** > * @private > * This method resets the Log's target level to the most verbose log > level > * for the currently registered targets. > */ > - /* private static function resetTargetLevel():void > + private static function resetTargetLevel():void > { > var minLevel:int = NONE; > for (var i:int = 0; i < _targets.length; i++) > @@ -487,7 +489,7 @@ public class Log > minLevel = _targets[i].level; > } > _targetLevel = minLevel; > - } */ > + } > } > > } > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEvent.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEvent.as > new file mode 100644 > index 0000000..47efb76 > --- /dev/null > +++ b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEvent.as > @@ -0,0 +1,230 @@ > > +//////////////////////////////////////////////////////////////////////////////// > +// > +// Licensed to the Apache Software Foundation (ASF) under one or more > +// contributor license agreements. See the NOTICE file distributed with > +// this work for additional information regarding copyright ownership. > +// The ASF licenses this file to You under the Apache License, Version > 2.0 > +// (the "License"); you may not use this file except in compliance with > +// the License. You may obtain a copy of the License at > +// > +// http://www.apache.org/licenses/LICENSE-2.0 > +// > +// Unless required by applicable law or agreed to in writing, software > +// distributed under the License is distributed on an "AS IS" BASIS, > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > +// See the License for the specific language governing permissions and > +// limitations under the License. > +// > > +//////////////////////////////////////////////////////////////////////////////// > + > +package mx.logging > +{ > + > +import org.apache.royale.events.Event; > + > +/** > + * Represents the log information for a single logging event. > + * The loging system dispatches a single event each time a process > requests > + * information be logged. > + * This event can be captured by any object for storage or formatting. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > +public class LogEvent extends Event > +{ > +// include "../core/Version.as"; > + > + > //-------------------------------------------------------------------------- > + // > + // Class constants > + // > + > //-------------------------------------------------------------------------- > + > + /** > + * Event type constant; identifies a logging event. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public static const LOG:String = "log"; > + > + > //-------------------------------------------------------------------------- > + // > + // Class methods > + // > + > //-------------------------------------------------------------------------- > + > + /** > + * Returns a string value representing the level specified. > + * > + * @param The level a string is desired for. > + * > + * @return The level specified in English. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public static function getLevelString(value:uint):String > + { > + switch (value) > + { > + case LogEventLevel.INFO: > + { > + return "INFO"; > + } > + > + case LogEventLevel.DEBUG: > + { > + return "DEBUG"; > + } > + > + case LogEventLevel.ERROR: > + { > + return "ERROR"; > + } > + > + case LogEventLevel.WARN: > + { > + return "WARN"; > + } > + > + case LogEventLevel.FATAL: > + { > + return "FATAL"; > + } > + > + case LogEventLevel.ALL: > + { > + return "ALL"; > + } > + } > + > + return "UNKNOWN"; > + } > + > + > //-------------------------------------------------------------------------- > + // > + // Constructor > + // > + > //-------------------------------------------------------------------------- > + > + /** > + * Constructor. > + * > + * @param msg String containing the log data. > + * > + * @param level The level for this log event. > + * Valid values are: > + * <ul> > + * <li><code>LogEventLevel.FATAL</code> designates events that are > very > + * harmful and will eventually lead to application failure</li> > + * > + * <li><code>LogEventLevel.ERROR</code> designates error events > that might > + * still allow the application to continue running.</li> > + * > + * <li><code>LogEventLevel.WARN</code> designates events that > could be > + * harmful to the application operation</li> > + * > + * <li><code>LogEventLevel.INFO</code> designates informational > messages > + * that highlight the progress of the application at > + * coarse-grained level.</li> > + * > + * <li><code>LogEventLevel.DEBUG</code> designates informational > + * level messages that are fine grained and most helpful when > + * debugging an application.</li> > + * > + * <li><code>LogEventLevel.ALL</code> intended to force a target to > + * process all messages.</li> > + * </ul> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public function LogEvent(message:String = "", > + level:int = 0 /* > LogEventLevel.ALL */) > + { > + super(LogEvent.LOG, false, false); > + > + this.message = message; > + this.level = level; > + } > + > + > //-------------------------------------------------------------------------- > + // > + // Properties > + // > + > //-------------------------------------------------------------------------- > + > + //---------------------------------- > + // level > + //---------------------------------- > + > + /** > + * Provides access to the level for this log event. > + * Valid values are: > + * <ul> > + * <li><code>LogEventLogEventLevel.INFO</code> designates > informational messages > + * that highlight the progress of the application at > + * coarse-grained level.</li> > + * > + * <li><code>LogEventLevel.DEBUG</code> designates informational > + * level messages that are fine grained and most helpful when > + * debugging an application.</li> > + * > + * <li><code>LogEventLevel.ERROR</code> designates error events > that might > + * still allow the application to continue running.</li> > + * > + * <li><code>LogEventLevel.WARN</code> designates events that > could be > + * harmful to the application operation.</li> > + * > + * <li><code>LogEventLevel.FATAL</code> designates events that > are very > + * harmful and will eventually lead to application failure.</li> > + * </ul> > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public var level:int; > + > + //---------------------------------- > + // message > + //---------------------------------- > + > + /** > + * Provides access to the message that was logged. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public var message:String; > + > + > //-------------------------------------------------------------------------- > + // > + // Overridden methods: Event > + // > + > //-------------------------------------------------------------------------- > + > + /** > + * @private > + */ > + COMPILE::SWF { override } > + public function clone():Event > + { > + return new LogEvent(message, /*type,*/ level); > + } > +} > + > +} > \ No newline at end of file > diff --git > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > index 070d24b..d239059 100644 > --- > a/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > +++ > b/frameworks/projects/MXRoyale/src/main/royale/mx/logging/LogEventLevel.as > @@ -27,19 +27,73 @@ package mx.logging > * @langversion 3.0 > * @playerversion Flash 9 > * @playerversion AIR 1.1 > - * @productversion Royale 0.9.3 > + * @productversion Flex 3 > */ > public final class LogEventLevel > { > -/* include "../core/Version.as"; > - */ > +// include "../core/Version.as"; > + > > //-------------------------------------------------------------------------- > // > // Class constants > // > > //-------------------------------------------------------------------------- > > - > + /** > + * Designates events that are very > + * harmful and will eventually lead to application failure. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public static const FATAL:int = 1000; > + > + /** > + * Designates error events that might > + * still allow the application to continue running. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public static const ERROR:int = 8; > + > + /** > + * Designates events that could be > + * harmful to the application operation. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public static const WARN:int = 6; > + > + /** > + * Designates informational messages that > + * highlight the progress of the application at coarse-grained level. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + public static const INFO:int = 4; > + > + /** > + * Designates informational level > + * messages that are fine grained and most helpful when debugging an > + * application. > + * > + * @langversion 3.0 > + * @playerversion Flash 9 > + * @playerversion AIR 1.1 > + * @productversion Flex 3 > + */ > + -- Carlos Rovira http://about.me/carlosrovira