[ https://issues.apache.org/jira/browse/FLEX-26325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13649045#comment-13649045 ]
Gavin Donald commented on FLEX-26325: ------------------------------------- I am sorry but I am not sure what you mean. Do you mean you would like me to generate the patch so you can apply it (I assume not). If you mean could I apply a patch you have created, then maybe if the below is the method to do this. 1) Add Flex SDK to source control (I am using Mercurial but could probably use SVN as well); 2) Apply the patch; 3) Build the SDK. I am probably one of those inexperienced developers I mentioned! > RemoteObject logs too eagerly all sent messages > ----------------------------------------------- > > Key: FLEX-26325 > URL: https://issues.apache.org/jira/browse/FLEX-26325 > Project: Apache Flex > Issue Type: Bug > Components: RPC: RemoteObject > Affects Versions: Adobe Flex SDK 4.1 (Release) > Environment: Affected OS(s): All OS Platforms > Language Found: English > Reporter: Adobe JIRA > Assignee: Adobe JIRA > Labels: easyfix > > Steps to reproduce: > 1. Set debug level on any Logger in the application (not even necessarily on > mx.rpc.*) > 2. Call a remote operation with a RemoteObject sending a complex object > graph, or an object graph containing 'lazy loaded' data, e.g. with LCDS or > GraniteDS > > Actual Results: > RemoteObject computes the complete debug message in RPCObjectUtils by the > ultra slow AS3 reflection (even when the message will never be logged at > all), and consequently triggers all lazy initializations (for example by > accessing all lazyCollection.length properties on all the object graph). > See here for more details on the issue: > http://insideria.com/2010/10/flex-rpc-and-the-broken-mxlogg.html > > Expected Results: > No computation of the debug message should be done when mx.rpc is not in > debug mode. > At least provide one of these options : > - Allow adding manually excluded properties in > RPCObjectUtils.defaultToStringExcludes (make it public or add a function > addDefaultExclude) > - Use existing toString() methods on objects when available instead of always > relying on AS3 reflection > - Provide a way to completely override the default RPCObjectUtil.toString, > i.e. > public var toStringFunction:Function; > public static function toString(value:Object, > namespaceURIs:Array = null, > exclude:Array = null):String > { > if (toStringFunction != null) { > return toStringFunction(value, namespaceURIs, exclude); > } > if (exclude == null) > { > exclude = defaultToStringExcludes; > } > > refCount = 0; > return internalToString(value, 0, null, namespaceURIs, exclude); > } > > Workaround (if any): > > Never set any debug level on any Logger. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira