incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Mueller <pmue...@gmail.com>
Subject console / logging issues
Date Thu, 03 May 2012 13:49:23 GMT
I'm going to start in on the console/logger issues:

    console object improvements
      https://issues.apache.org/jira/browse/CB-348

    Logging levels
      https://issues.apache.org/jira/browse/CB-611

    Debug Console registers itself with an error-prone name
      https://issues.apache.org/jira/browse/CB-617

    Support DebugConsole plugin for all platforms
      https://issues.apache.org/jira/browse/CB-618

    Document how to use logging levels from Debug Console
      https://issues.apache.org/jira/browse/CB-619

    Logger functionality separated from (debug) console
      https://issues.apache.org/jira/browse/CB-623

Here's the basic idea:

- create a new module/object exposed on cordova called logger
- like log4j but smaller/simpler/sensible
- default implementation in common/logger.js that writes all output via
console.log()
- if a platform has something better to implement to, override logger.js in
your platform subdirectory
- iOS has something better to implement to, so will use that as the first
'native logger' implementation, and so the initial take at a Logger plugin
interface (that other platforms could implement to).
- intended for use by plugin developers today, maybe we can expose it to
app developers later

Then there's console.  Not every platform exposes a "global" console
object.  iOS and at least one of the blackberries.  We should provide an
implementation which matches the de facto standard Firebug Console API, and
delegates to the logger if it's implemented.

We'd never run into infinite loops with this.  Never. :-)

I'll add some logic to the loggers/consoles so that we can ensure that
after they've been initialized, that both are not implemented as calling
into the other.

-- 
Patrick Mueller
http://muellerware.org

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message