appenders can be added to multiple categories at the same time

This commit is contained in:
Gareth Jones
2010-10-07 15:15:23 +11:00
parent caa7338b04
commit 5ffc00c9de
4 changed files with 70 additions and 8 deletions

View File

@@ -55,7 +55,7 @@ var log4js = {
* @static
* @final
*/
version: "0.1.0",
version: "0.1.1",
/**
* Date of logger initialized.
@@ -119,8 +119,21 @@ exports.getDefaultLogger = log4js.getDefaultLogger = function() {
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]) {
log4js.appenders[category] = [];
}
@@ -135,13 +148,14 @@ exports.addAppender = log4js.addAppender = function (appender, categoryName) {
} else if (log4js.loggers[category]) {
log4js.loggers[category].addListener("log", appender);
}
});
};
exports.clearAppenders = log4js.clearAppenders = function() {
log4js.appenders = [];
for (var logger in log4js.loggers) {
if (log4js.loggers.hasOwnProperty(logger)) {
log4js.loggers[logger].listeners.length = 0;
log4js.loggers[logger].removeAllListeners("log");
}
}
};