138 lines
4.2 KiB
JavaScript
138 lines
4.2 KiB
JavaScript
"use strict";
|
|
var vows = require('vows')
|
|
, assert = require('assert')
|
|
, Level = require('../../lib/levels')
|
|
, log4js = require('../../lib/log4js')
|
|
, loggerModule = require('../../lib/logger')
|
|
, Logger = loggerModule.Logger;
|
|
|
|
vows.describe('../../lib/logger').addBatch({
|
|
'creating a new log level': {
|
|
topic: function () {
|
|
Level.forName("DIAG", 6000);
|
|
return new Logger();
|
|
},
|
|
|
|
'should export new log level in levels module': function (logger) {
|
|
assert.isDefined(Level.DIAG);
|
|
assert.equal(Level.DIAG.levelStr, "DIAG");
|
|
assert.equal(Level.DIAG.level, 6000);
|
|
},
|
|
|
|
'should create named function on logger prototype': function(logger) {
|
|
assert.isFunction(logger.diag);
|
|
},
|
|
|
|
'should create isLevelEnabled function on logger prototype': function(logger) {
|
|
assert.isFunction(logger.isDiagEnabled);
|
|
},
|
|
},
|
|
|
|
'creating a new log level with underscores': {
|
|
topic: function () {
|
|
Level.forName("NEW_LEVEL_OTHER", 6000);
|
|
return new Logger();
|
|
},
|
|
|
|
'should export new log level to levels module': function (logger) {
|
|
assert.isDefined(Level.NEW_LEVEL_OTHER);
|
|
assert.equal(Level.NEW_LEVEL_OTHER.levelStr, "NEW_LEVEL_OTHER");
|
|
assert.equal(Level.NEW_LEVEL_OTHER.level, 6000);
|
|
},
|
|
|
|
'should create named function on logger prototype in camel case': function(logger) {
|
|
assert.isFunction(logger.newLevelOther);
|
|
},
|
|
|
|
'should create named isLevelEnabled function on logger prototype in camel case':
|
|
function(logger) {
|
|
assert.isFunction(logger.isNewLevelOtherEnabled);
|
|
}
|
|
},
|
|
|
|
'creating log events containing newly created log level': {
|
|
topic: function() {
|
|
var events = [],
|
|
logger = new Logger();
|
|
logger.addListener("log", function (logEvent) { events.push(logEvent); });
|
|
|
|
logger.log(Level.forName("LVL1", 6000), "Event 1");
|
|
logger.log(Level.getLevel("LVL1"), "Event 2");
|
|
logger.log("LVL1", "Event 3");
|
|
logger.lvl1("Event 4");
|
|
|
|
logger.setLevel(Level.forName("LVL2", 7000));
|
|
logger.lvl1("Event 5");
|
|
|
|
return events;
|
|
},
|
|
|
|
'should show log events with new log level': function(events) {
|
|
assert.equal(events[0].level.toString(), "LVL1");
|
|
assert.equal(events[0].data[0], "Event 1");
|
|
|
|
assert.equal(events[1].level.toString(), "LVL1");
|
|
assert.equal(events[1].data[0], "Event 2");
|
|
|
|
assert.equal(events[2].level.toString(), "LVL1");
|
|
assert.equal(events[2].data[0], "Event 3");
|
|
|
|
assert.equal(events[3].level.toString(), "LVL1");
|
|
assert.equal(events[3].data[0], "Event 4");
|
|
},
|
|
|
|
'should not be present if min log level is greater than newly created level':
|
|
function(events) {
|
|
assert.equal(events.length, 4);
|
|
}
|
|
},
|
|
|
|
'creating a new log level with incorrect parameters': {
|
|
topic: function() {
|
|
log4js.levels.forName(9000, "FAIL_LEVEL_1");
|
|
log4js.levels.forName("FAIL_LEVEL_2");
|
|
return new Logger();
|
|
},
|
|
|
|
'should fail to create the level': function(logger) {
|
|
assert.isUndefined(Level.FAIL_LEVEL_1);
|
|
assert.isUndefined(Level.FAIL_LEVEL_2);
|
|
}
|
|
},
|
|
|
|
'calling log with an undefined log level': {
|
|
topic: function() {
|
|
var events = [],
|
|
logger = new Logger();
|
|
logger.addListener("log", function (logEvent) { events.push(logEvent); });
|
|
|
|
logger.log("LEVEL_DOES_NEXT_EXIST", "Event 1");
|
|
logger.log(Level.forName("LEVEL_DOES_NEXT_EXIST"), "Event 2");
|
|
|
|
return events;
|
|
},
|
|
|
|
'should fallback to the default log level (INFO)': function(events) {
|
|
assert.equal(events[0].level.toString(), "INFO");
|
|
assert.equal(events[1].level.toString(), "INFO");
|
|
}
|
|
},
|
|
|
|
'creating a new level with an existing level name': {
|
|
topic: function() {
|
|
var events = [],
|
|
logger = new Logger();
|
|
logger.addListener("log", function (logEvent) { events.push(logEvent); });
|
|
|
|
logger.log(log4js.levels.forName("MY_LEVEL", 9000), "Event 1");
|
|
logger.log(log4js.levels.forName("MY_LEVEL", 8000), "Event 1");
|
|
|
|
return events;
|
|
},
|
|
|
|
'should override the existing log level': function(events) {
|
|
assert.equal(events[0].level.level, 9000);
|
|
assert.equal(events[1].level.level, 8000);
|
|
}
|
|
}
|
|
}).exportTo(module); |