2013-07-01 06:24:29 +08:00
|
|
|
"use strict";
|
|
|
|
var vows = require('vows')
|
|
|
|
, assert = require('assert')
|
|
|
|
, levels = require('../lib/levels')
|
2014-04-08 10:06:29 +08:00
|
|
|
, loggerModule = require('../lib/logger')
|
|
|
|
, Logger = loggerModule.Logger;
|
2013-07-01 06:24:29 +08:00
|
|
|
|
|
|
|
vows.describe('../lib/logger').addBatch({
|
|
|
|
'constructor with no parameters': {
|
|
|
|
topic: new Logger(),
|
|
|
|
'should use default category': function(logger) {
|
|
|
|
assert.equal(logger.category, Logger.DEFAULT_CATEGORY);
|
|
|
|
},
|
|
|
|
'should use TRACE log level': function(logger) {
|
|
|
|
assert.equal(logger.level, levels.TRACE);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
'constructor with category': {
|
|
|
|
topic: new Logger('cheese'),
|
|
|
|
'should use category': function(logger) {
|
|
|
|
assert.equal(logger.category, 'cheese');
|
|
|
|
},
|
|
|
|
'should use TRACE log level': function(logger) {
|
|
|
|
assert.equal(logger.level, levels.TRACE);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
'constructor with category and level': {
|
|
|
|
topic: new Logger('cheese', 'debug'),
|
|
|
|
'should use category': function(logger) {
|
|
|
|
assert.equal(logger.category, 'cheese');
|
|
|
|
},
|
|
|
|
'should use level': function(logger) {
|
|
|
|
assert.equal(logger.level, levels.DEBUG);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
'isLevelEnabled': {
|
|
|
|
topic: new Logger('cheese', 'info'),
|
|
|
|
'should provide a level enabled function for all levels': function(logger) {
|
|
|
|
assert.isFunction(logger.isTraceEnabled);
|
|
|
|
assert.isFunction(logger.isDebugEnabled);
|
|
|
|
assert.isFunction(logger.isInfoEnabled);
|
|
|
|
assert.isFunction(logger.isWarnEnabled);
|
|
|
|
assert.isFunction(logger.isErrorEnabled);
|
|
|
|
assert.isFunction(logger.isFatalEnabled);
|
|
|
|
},
|
|
|
|
'should return the right values': function(logger) {
|
|
|
|
assert.isFalse(logger.isTraceEnabled());
|
|
|
|
assert.isFalse(logger.isDebugEnabled());
|
|
|
|
assert.isTrue(logger.isInfoEnabled());
|
|
|
|
assert.isTrue(logger.isWarnEnabled());
|
|
|
|
assert.isTrue(logger.isErrorEnabled());
|
|
|
|
assert.isTrue(logger.isFatalEnabled());
|
|
|
|
}
|
2014-04-08 10:06:29 +08:00
|
|
|
},
|
|
|
|
|
|
|
|
'should emit log events': {
|
|
|
|
topic: function() {
|
|
|
|
var events = [],
|
|
|
|
logger = new Logger();
|
|
|
|
logger.addListener('log', function (logEvent) { events.push(logEvent); });
|
|
|
|
logger.debug('Event 1');
|
|
|
|
loggerModule.disableAllLogWrites();
|
|
|
|
logger.debug('Event 2');
|
|
|
|
loggerModule.enableAllLogWrites();
|
|
|
|
logger.debug('Event 3');
|
|
|
|
return events;
|
|
|
|
},
|
|
|
|
|
|
|
|
'when log writes are enabled': function(events) {
|
|
|
|
assert.equal(events[0].data[0], 'Event 1');
|
|
|
|
},
|
|
|
|
|
|
|
|
'but not when log writes are disabled': function(events) {
|
|
|
|
assert.equal(events.length, 2);
|
|
|
|
assert.equal(events[1].data[0], 'Event 3');
|
|
|
|
}
|
2013-07-01 06:24:29 +08:00
|
|
|
}
|
|
|
|
}).exportTo(module);
|