• Jump To … +
    server.coffee src/actionknob.coffee src/autosem.coffee src/bitbucket_kba.coffee src/browserlog.coffee src/datareduction.coffee src/dci.coffee src/dciknob.coffee src/deeseeeye.coffee src/dnd.coffee src/doof.coffee src/formurla-mngr.coffee src/fractalpanel.coffee src/fractalpanel_test.coffee src/front.coffee src/ingestor.coffee src/kbabitbucket.coffee src/knobctrl.coffee src/lib_test.coffee src/nanoclock.coffee src/noodb.coffee src/noodbabstract.coffee src/noodbbrowser.coffee src/noodbbrowser_test.coffee src/noodbsec.coffee src/noorauth.coffee src/noorplugin.coffee src/noorquery.coffee src/noorvm.coffee src/noorwrite.coffee src/quadparser.coffee src/quadparsern3.coffee src/rbac.coffee src/reactor.coffee src/rebase.coffee src/rsrcidx.coffee src/sandboxactions.coffee src/screen_ctx.coffee src/spogi.coffee src/tabular_widget.coffee src/visctrl.coffee src/voicesknob.coffee src/whowhen.coffee src/xsd2native.coffee
  • browserlog.coffee

  • ¶

    BrowserLog = exports = module.exports = BrowserLog = (level) -> level = exports[level.toUpperCase()] if “string” is typeof level @level = level or exports.DEBUG return

    class BrowserLog
      EMERGENCY: 0
      ALERT: 1
      CRITICAL: 2
      ERROR: 3
      WARNING: 4
      NOTICE: 5
      INFO: 6
      DEBUG: 7
    
      constructor: (levelStr) ->
        levelStr ?= 'DEBUG'
        @set_level(levelStr)
    
      set_level: (levelStr) ->
        levelStr = levelStr.toUpperCase()
        if "string" is typeof levelStr
          levelNo = @[levelStr]
        @levelStr = levelStr
        @levelNo = levelNo
  • ¶

    console.log(“constructor() levelStr:”,@levelStr,”levelNo:”,@levelNo)

      help: ->
        if console and console.log
          console.info("set log level with:")
          console.info("  noodb.log.set_level('EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG')")
          console.info("currently:",@getLevelStr())
    
      levelStr2No: (levelStr) ->
        @[levelStr.toUpperCase()]
    
      getLevelStr: ->
        return @levelNo2Str(@levelNo)
    
      levelNo2Str: (levelNo) ->
        for k,v of @
          if v is levelNo and k isnt 'levelNo'
            return k
        return 'unknown'
    
      meth:
        EMERGENCY: console.error
        ALERT: console.error
        CRITICAL: console.error
        ERROR: console.error
        WARNING: console.warn
        NOTICE: console.info
        INFO: console.info
        DEBUG: console.debug
    
      log: (levelStr, args) ->
  • ¶

    console.log “log() levelStr:”, levelStr, ‘@[levelStr]:’, @[levelStr], “levelNo:”, @levelNo

        if @levelStr2No(levelStr) <= @levelNo
          meth = @meth[levelStr]
  • ¶

    the [].slice.call(args) trick converts an Arguments instance into an Array

          newargs = new Array("[" + new Date + "]" + " " + levelStr).concat([].slice.call(args))
          meth.apply(console, newargs)
        return
    
      emergency: (msg) ->
        @log "EMERGENCY", arguments
        return
    
      alert: (msg) ->
        @log "ALERT", arguments
        return
    
      critical: (msg) ->
        @log "CRITICAL", arguments
        return
    
      error: (msg) ->
        @log "ERROR", arguments
        return
    
      warning: (msg) ->
        @log "WARNING", arguments
        return
    
      notice: (msg) ->
        @log "NOTICE", arguments
        return
    
      info: (msg) ->
        @log "INFO", arguments
        return
    
      debug: (msg) ->
        @log "DEBUG", arguments
        return
    
    (exports ? this).BrowserLog = BrowserLog