```coffeescript
class App.Log
  _instance = undefined

  @log: ( module, level, args... ) ->
    if _instance == undefined
      _instance ?= new _Singleton
    _instance.log( module, level, args )

  @debug: ( module, level, args... ) ->
    if _instance == undefined
      _instance ?= new _Singleton
    _instance.log( module, level, args )


class _Singleton
  constructor: ->
    @config = {}
#      Session: true
#      ControllerForm: true

  log: ( module, level, args ) ->
    if !@config || level isnt 'debug'
      @_log( module, level, args )
    else if @config[ module ]
      @_log( module, level, args )


  _log: ( module, level, args ) ->
    return if !console
    return if !console.log
    console.log "App.#{module}(#{level})", args

```

Make console.log working in IE8.
user
```coffeescript
class App.Log
  _instance = undefined

  @log: ( module, level, args... ) ->
    if _instance == undefined
      _instance ?= new _Singleton
    _instance.log( module, level, args )

  @debug: ( module, level, args... ) ->
    if _instance == undefined
      _instance ?= new _Singleton
    _instance.log( module, level, args )

class _Singleton
  constructor: ->
    @config = {}
#    @config['Collection'] = true
#      Session: true
#      ControllerForm: true

  log: ( module, level, args ) ->
    if !@config || level isnt 'debug'
      @_log( module, level, args )
    else if @config[ module ]
      @_log( module, level, args )

  _log: ( module, level, args ) ->
    return if !'console' in window
    return if !'log' in console
    return if !typeof console.log isnt 'function'
    console.log "App.#{module}(#{level})", args

```
assistant