[OpenLayers-Dev] OpenLayers 'Debug Mode'
Paul Spencer
pspencer at dmsolutions.ca
Mon Feb 19 19:00:28 EST 2007
I agree, this is an excellent idea. One problem with js, though, is
that it isn't possible to get rid of the debug code at compile time
so it will always be there slowing things down just by calling an
empty log/debug function. Depending on where this code is left, it
may not be noticeable, but I can see where it would be desirable to
have log calls in functions that could be called a lot and this could
have an impact.
To mitigate this, it may be nice to have two builds - production and
debug. If debug logging is appropriately marked up, it should be
easy to remove or comment it as part of building a production
version ... it could be as easy as grepping for OpenLayers.Debug and
removing the line.
Normal (not 'built') use and debug builds would not remove the debug
calls and then debugging could be turned on or off globally.
I'm going off the deep end here, but it might be very nice to have a
namespace with debug logging to allow turning on logging only in one
section of the API (for instance OpenLayers.DEBUG = false;
OpenLayers.Layer.DEBUG = true; OpenLayers.log(OpenLayers.Layer, 'some
message');) ... And you could keep going with this and add severity
levels etc. The scope creep strikes again :)
Cheers
Paul
On 19-Feb-07, at 5:37 PM, Schuyler Erle wrote:
> +1 for an OpenLayers.Log or .Debug module.
>
> SDE
>
> On Sun, 2007-02-18 at 11:48 -0500, Christopher Schmidt wrote:
>> A bunch of times, we've run into problems where the answer has
>> been "It
>> would be really nice to let the user know that they are doing
>> something
>> which is probably wrong, but we don't have a way to inform them."
>> In the
>> past, OpenLayers had fancy debugging tools, the need for which has
>> largely been removed by Firebug. However, we oftentimes run into
>> cases
>> where a user is doing something that they don't really want to do,
>> but
>> they don't know it.
>>
>> For example, #248, "Map allows layers to be added twice", is a case
>> where a user was adding the same layer to the map twice. The patch
>> I've
>> added prevents this from happening -- but there is no way to say
>> to the
>> user 'you probably didn't mean to do that'.
>>
>> Clearly, we don't want to be littering OpenLayers with 'alert'
>> statements, but at the same time, it might be nice to have a way
>> to put
>> OpenLayers into a 'debug' mode, where these things can be reported to
>> the user, either via 'alert()' calls or via console.log() or
>> something
>> similar. (I don't want to pull in a full logging framework if we can
>> avoid it.)
>>
>> This mode should not be the default, but an option on the map could
>> allow a user to turn it on. The map object could support a 'log()'
>> method, which could then report things to the user.
>>
>> I can't think of the other cases this has come up, but I know they
>> exist. What do people think about adding this in -- possibly not for
>> 2.4, but maybe for 2.5?
>>
>> Regards,
>
> _______________________________________________
> Dev mailing list
> Dev at openlayers.org
> http://openlayers.org/mailman/listinfo/dev
+-----------------------------------------------------------------+
|Paul Spencer pspencer at dmsolutions.ca |
+-----------------------------------------------------------------+
|Chief Technology Officer |
|DM Solutions Group Inc http://www.dmsolutions.ca/ |
+-----------------------------------------------------------------+
More information about the Dev
mailing list