Merge branch 'master' of github.com:csausdev/log4js-node into refactoring
This commit is contained in:
commit
4c98346004
@ -1,4 +1,4 @@
|
|||||||
var log4js = require('./lib/log4js-node');
|
var log4js = require('./lib/log4js');
|
||||||
log4js.addAppender(log4js.consoleAppender());
|
log4js.addAppender(log4js.consoleAppender());
|
||||||
log4js.addAppender(log4js.fileAppender('cheese.log'), 'cheese');
|
log4js.addAppender(log4js.fileAppender('cheese.log'), 'cheese');
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ var log4js = {
|
|||||||
* @static
|
* @static
|
||||||
* @final
|
* @final
|
||||||
*/
|
*/
|
||||||
version: "0.1.0",
|
version: "0.1.1",
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Date of logger initialized.
|
* Date of logger initialized.
|
||||||
@ -119,8 +119,21 @@ exports.getDefaultLogger = log4js.getDefaultLogger = function() {
|
|||||||
return log4js.getLogger(DEFAULT_CATEGORY);
|
return log4js.getLogger(DEFAULT_CATEGORY);
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.addAppender = log4js.addAppender = function (appender, categoryName) {
|
/**
|
||||||
var category = categoryName || ALL_CATEGORIES;
|
* args are appender, then zero or more categories
|
||||||
|
*/
|
||||||
|
exports.addAppender = log4js.addAppender = function () {
|
||||||
|
var args = Array.prototype.slice.call(arguments);
|
||||||
|
var appender = args.shift();
|
||||||
|
if (args.length == 0) {
|
||||||
|
args = [ ALL_CATEGORIES ];
|
||||||
|
}
|
||||||
|
//argument may already be an array
|
||||||
|
if (args[0].forEach) {
|
||||||
|
args = args[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
args.forEach(function(category) {
|
||||||
if (!log4js.appenders[category]) {
|
if (!log4js.appenders[category]) {
|
||||||
log4js.appenders[category] = [];
|
log4js.appenders[category] = [];
|
||||||
}
|
}
|
||||||
@ -135,13 +148,14 @@ exports.addAppender = log4js.addAppender = function (appender, categoryName) {
|
|||||||
} else if (log4js.loggers[category]) {
|
} else if (log4js.loggers[category]) {
|
||||||
log4js.loggers[category].addListener("log", appender);
|
log4js.loggers[category].addListener("log", appender);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.clearAppenders = log4js.clearAppenders = function() {
|
exports.clearAppenders = log4js.clearAppenders = function() {
|
||||||
log4js.appenders = [];
|
log4js.appenders = [];
|
||||||
for (var logger in log4js.loggers) {
|
for (var logger in log4js.loggers) {
|
||||||
if (log4js.loggers.hasOwnProperty(logger)) {
|
if (log4js.loggers.hasOwnProperty(logger)) {
|
||||||
log4js.loggers[logger].listeners.length = 0;
|
log4js.loggers[logger].removeAllListeners("log");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "log4js",
|
"name": "log4js",
|
||||||
"version": "0.1.0",
|
"version": "0.1.1",
|
||||||
"description": "Port of Log4js to work with node.",
|
"description": "Port of Log4js to work with node.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"logging",
|
"logging",
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
fs = require('fs'), events = require('events');
|
|
||||||
|
|
||||||
waitForWriteAndThenReadFile = function (filename) {
|
|
||||||
process.loop();
|
|
||||||
return fs.readFileSync(filename);
|
|
||||||
};
|
|
||||||
|
|
||||||
describe 'log4js'
|
describe 'log4js'
|
||||||
|
before
|
||||||
|
extend(context, {
|
||||||
|
log4js : require("log4js"),
|
||||||
|
fs: require("fs"),
|
||||||
|
waitForWriteAndThenReadFile : function (filename) {
|
||||||
|
process.loop();
|
||||||
|
return fs.readFileSync(filename, "utf8");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
end
|
||||||
|
|
||||||
before_each
|
before_each
|
||||||
log4js.clearAppenders();
|
log4js.clearAppenders();
|
||||||
event = '';
|
event = '';
|
||||||
@ -44,7 +48,6 @@ describe 'log4js'
|
|||||||
|
|
||||||
describe 'addAppender'
|
describe 'addAppender'
|
||||||
before_each
|
before_each
|
||||||
log4js.clearAppenders();
|
|
||||||
appenderEvent = undefined;
|
appenderEvent = undefined;
|
||||||
appender = function(logEvent) { appenderEvent = logEvent; };
|
appender = function(logEvent) { appenderEvent = logEvent; };
|
||||||
end
|
end
|
||||||
@ -68,6 +71,15 @@ describe 'log4js'
|
|||||||
|
|
||||||
appenderEvent.should.be event
|
appenderEvent.should.be event
|
||||||
otherEvent.should.be event
|
otherEvent.should.be event
|
||||||
|
|
||||||
|
otherEvent = undefined;
|
||||||
|
appenderEvent = undefined;
|
||||||
|
log4js.getLogger('pants').debug("this should not be propagated to otherEvent");
|
||||||
|
otherEvent.should.be undefined
|
||||||
|
appenderEvent.should.not.be undefined
|
||||||
|
appenderEvent.message.should.be "this should not be propagated to otherEvent"
|
||||||
|
|
||||||
|
cheeseLogger = null;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -84,6 +96,45 @@ describe 'log4js'
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'with multiple categories'
|
||||||
|
it 'should register the function as a listener for all the categories'
|
||||||
|
log4js.addAppender(appender, 'tests', 'biscuits');
|
||||||
|
|
||||||
|
logger.debug('this is a test');
|
||||||
|
appenderEvent.should.be event
|
||||||
|
appenderEvent = undefined;
|
||||||
|
|
||||||
|
var otherLogger = log4js.getLogger('biscuits');
|
||||||
|
otherLogger.debug("mmm... garibaldis");
|
||||||
|
appenderEvent.should.not.be undefined
|
||||||
|
appenderEvent.message.should.be "mmm... garibaldis"
|
||||||
|
appenderEvent = undefined;
|
||||||
|
|
||||||
|
otherLogger = null;
|
||||||
|
|
||||||
|
log4js.getLogger("something else").debug("pants");
|
||||||
|
appenderEvent.should.be undefined
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should register the function when the list of categories is an array'
|
||||||
|
log4js.addAppender(appender, ['tests', 'pants']);
|
||||||
|
|
||||||
|
logger.debug('this is a test');
|
||||||
|
appenderEvent.should.be event
|
||||||
|
appenderEvent = undefined;
|
||||||
|
|
||||||
|
var otherLogger = log4js.getLogger('pants');
|
||||||
|
otherLogger.debug("big pants");
|
||||||
|
appenderEvent.should.not.be undefined
|
||||||
|
appenderEvent.message.should.be "big pants"
|
||||||
|
appenderEvent = undefined;
|
||||||
|
|
||||||
|
otherLogger = null;
|
||||||
|
|
||||||
|
log4js.getLogger("something else").debug("pants");
|
||||||
|
appenderEvent.should.be undefined
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'basicLayout'
|
describe 'basicLayout'
|
||||||
@ -132,7 +183,7 @@ describe 'log4js'
|
|||||||
try {
|
try {
|
||||||
fs.unlinkSync('./tmp-tests.log');
|
fs.unlinkSync('./tmp-tests.log');
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
print('Could not delete tmp-tests.log: '+e.message);
|
//print('Could not delete tmp-tests.log: '+e.message);
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -171,12 +222,12 @@ describe 'log4js'
|
|||||||
try {
|
try {
|
||||||
fs.unlinkSync('./tmp-tests.log');
|
fs.unlinkSync('./tmp-tests.log');
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
print('Could not delete tmp-tests.log: '+e.message);
|
//print('Could not delete tmp-tests.log: '+e.message);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
fs.unlinkSync('./tmp-tests-warnings.log');
|
fs.unlinkSync('./tmp-tests-warnings.log');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print('Could not delete tmp-tests-warnings.log: '+e.message);
|
//print('Could not delete tmp-tests-warnings.log: '+e.message);
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -185,6 +236,8 @@ describe 'log4js'
|
|||||||
//and sets the log level for "tests" to WARN
|
//and sets the log level for "tests" to WARN
|
||||||
log4js.configure('spec/fixtures/log4js.json');
|
log4js.configure('spec/fixtures/log4js.json');
|
||||||
event = undefined;
|
event = undefined;
|
||||||
|
logger = log4js.getLogger("tests");
|
||||||
|
logger.addListener("log", function(evt) { event = evt });
|
||||||
|
|
||||||
logger.info('this should not fire an event');
|
logger.info('this should not fire an event');
|
||||||
event.should.be undefined
|
event.should.be undefined
|
||||||
@ -196,7 +249,6 @@ describe 'log4js'
|
|||||||
|
|
||||||
it 'should handle logLevelFilter configuration'
|
it 'should handle logLevelFilter configuration'
|
||||||
log4js.configure('spec/fixtures/with-logLevelFilter.json');
|
log4js.configure('spec/fixtures/with-logLevelFilter.json');
|
||||||
event = undefined;
|
|
||||||
|
|
||||||
logger.info('main');
|
logger.info('main');
|
||||||
logger.error('both');
|
logger.error('both');
|
||||||
@ -207,9 +259,14 @@ describe 'log4js'
|
|||||||
waitForWriteAndThenReadFile('./tmp-tests-warnings.log').should.be 'both\nboth\n'
|
waitForWriteAndThenReadFile('./tmp-tests-warnings.log').should.be 'both\nboth\n'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'Date'
|
describe 'Date'
|
||||||
|
before
|
||||||
|
require("log4js");
|
||||||
|
end
|
||||||
|
|
||||||
describe 'toFormattedString'
|
describe 'toFormattedString'
|
||||||
it 'should add a toFormattedString method to Date'
|
it 'should add a toFormattedString method to Date'
|
||||||
var date = new Date();
|
var date = new Date();
|
||||||
|
6
tests.js
6
tests.js
@ -1,8 +1,6 @@
|
|||||||
require.paths.unshift("./spec/lib", "./lib");
|
require.paths.unshift("./spec/lib", "./lib");
|
||||||
require("jspec");
|
require("jspec");
|
||||||
|
|
||||||
log4js = require("log4js-node");
|
|
||||||
|
|
||||||
var sys = require("sys"), fs = require("fs");
|
var sys = require("sys"), fs = require("fs");
|
||||||
|
|
||||||
quit = process.exit
|
quit = process.exit
|
||||||
@ -11,7 +9,7 @@ print = sys.puts
|
|||||||
readFile = function(path) {
|
readFile = function(path) {
|
||||||
var result;
|
var result;
|
||||||
try {
|
try {
|
||||||
result = fs.readFileSync(path);
|
result = fs.readFileSync(path, "utf8");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
@ -37,7 +35,7 @@ if (process.ARGV[2]) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (specsFound) {
|
if (specsFound) {
|
||||||
JSpec.run({ reporter: JSpec.reporters.Terminal });
|
JSpec.run({ reporter: JSpec.reporters.Terminal, failuresOnly: false });
|
||||||
JSpec.report();
|
JSpec.report();
|
||||||
} else {
|
} else {
|
||||||
print("No tests to run. This makes me sad.");
|
print("No tests to run. This makes me sad.");
|
||||||
|
Loading…
Reference in New Issue
Block a user