src/utils/logs/logger.coffee |
|
|---|---|
Table Of Content |
Signal = require '../../core/signal' |
Logger |
|
The |
class Logger
|
The That priority is used to filter messages according to a given configuration verbosity. |
@DEBUG = 0 @INFO = 1 @WARN = 2 @ERROR = 3 @FATAL = 4 |
Logger::constructor |
|
The The |
constructor: -> @logged = new Signal @stack = [] |
Logger::log |
|
Register a |
log: (message, level=0) -> o = {message, level} if @logged.hasListeners() @logged.dispatch this, o else |
In order to prevent the stack to became too wide, messages with the same level of priority are concateneted. |
if @stack.empty() or @stack.last().level isnt level @stack.push o else @stack.last().message += message |
Logger::add |
|
Add a function to listen to the |
add: (listener, context=null, priority=0) -> @logged.add listener, context, priority @logged.dispatch this, log for log in @stack if @logged.hasListeners() |
Logger::remove |
|
Removes a function for listening to the |
remove: (listener, context) -> @logged.remove listener, context module.exports = Logger |