8000 Merge branch 'master' of github.com:csausdev/log4js-node into refacto… · wxqGitHub/log4js-node@4c98346 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4c98346

Browse files
author
csausdev
committed
Merge branch 'master' of github.com:csausdev/log4js-node into refactoring
2 parents b4a8103 + 5ffc00c commit 4c98346

File tree

6 files changed

+92
-23
lines changed

6 files changed

+92
-23
lines changed

example.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var log4js = require('./lib/log4js-node');
1+
var log4js = require('./lib/log4js');
22
log4js.addAppender(log4js.consoleAppender());
33
log4js.addAppender(log4js.fileAppender('cheese.log'), 'cheese');
44

lib/log4js.js

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ var log4js = {
5555
* @static
5656
* @final
5757
*/
58-
version: "0.1.0",
58+
version: "0.1.1",
5959

6060
/**
6161
* Date of logger initialized.
@@ -119,8 +119,21 @@ exports.getDefaultLogger = log4js.getDefaultLogger = function() {
119119
return log4js.getLogger(DEFAULT_CATEGORY);
120120
};
121121

122-
exports.addAppender = log4js.addAppender = function (appender, categoryName) {
123-
var category = categoryName || ALL_CATEGORIES;
122+
/**
123+
* args are appender, then zero or more categories
124+
*/
125+
exports.addAppender = log4js.addAppender = function () {
126+
var args = Array.prototype.slice.call(arguments);
127+
var appender = args.shift();
128+
if (args.length == 0) {
129+
args = [ ALL_CATEGORIES ];
130+
}
131+
//argument may already be an array
132+
if (args[0].forEach) {
133+
args = args[0];
134+
}
135+
136+
args.forEach(function(category) {
124137
if (!log4js.appenders[category]) {
125138
log4js.appenders[category] = [];
126139
}
@@ -135,13 +148,14 @@ exports.addAppender = log4js.addAppender = function (appender, categoryName) {
135148
} else if (log4js.loggers[category]) {
136149
log4js.loggers[category].addListener("log", appender);
137150
}
151+
});
138152
};
139153

140154
exports.clearAppenders = log4js.clearAppenders = function() {
141155
log4js.appenders = [];
142156
for (var logger in log4js.loggers) {
143157
if (log4js.loggers.hasOwnProperty(logger)) {
144-
log4js.loggers[logger].listeners.length = 0;
158+
log4js.loggers[logger].removeAllListeners("log");
145159
}
146160
}
147161
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "log4js",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"description": "Port of Log4js to work with node.",
55
"keywords": [
66
"logging",

spec/lib/jspec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1770,4 +1770,4 @@
17701770
}
17711771
})
17721772

1773-
})()
1773+
})()

spec/spec.logging.js

Lines changed: 69 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
fs = require('fs'), events = require('events');
2-
3-
waitForWriteAndThenReadFile = function (filename) {
4-
process.loop();
5-
return fs.readFileSync(filename);
6-
};
7-
81
describe 'log4js'
2+
before
3+
extend(context, {
4+
log4js : require("log4js"),
5+
fs: require("fs"),
6+
waitForWriteAndThenReadFile : function (filename) {
7+
process.loop();
8+
return fs.readFileSync(filename, "utf8");
9+
}
10+
});
11+
end
12+
913
before_each
1014
log4js.clearAppenders();
1115
event = '';
@@ -44,7 +48,6 @@ describe 'log4js'
4448

4549
describe 'addAppender'
4650
before_each
47-
log4js.clearAppenders();
4851
appenderEvent = undefined;
4952
appender = function(logEvent) { appenderEvent = logEvent; };
5053
end
@@ -68,6 +71,15 @@ describe 'log4js'
6871

6972
appenderEvent.should.be event
7073
otherEvent.should.be event
74+
75+
otherEvent = undefined;
76+
appenderEvent = undefined;
77+
log4js.getLogger('pants').debug("this should not be propagated to otherEvent");
78+
otherEvent.should.be undefined
79+
appenderEvent.should.not.be undefined
80+
appenderEvent.message.should.be "this should not be propagated to otherEvent"
81+
82+
cheeseLogger = null;
7183
end
7284
end
7385

@@ -84,6 +96,45 @@ describe 'log4js'
8496
end
8597
end
8698

99+
describe 'with multiple categories'
100+
it 'should register the function as a listener for all the categories'
101+
log4js.addAppender(appender, 'tests', 'biscuits');
102+
103+
logger.debug('this is a test');
104+
appenderEvent.should.be event
105+
appenderEvent = undefined;
106+
107+
var otherLogger = log4js.getLogger('biscuits');
108+
otherLogger.debug("mmm... garibaldis");
109+
appenderEvent.should.not.be undefined
110+
appenderEvent.message.should.be "mmm... garibaldis"
111+
appenderEvent = undefined;
112+
113+
otherLogger = null;
114+
115+
log4js.getLogger("something else").debug("pants");
116+
appenderEvent.should.be undefined
117+
end
118+
119+
it 'should register the function when the list of categories is an array'
120+
log4js.addAppender(appender, ['tests', 'pants']);
121+
122+
logger.debug('this is a test');
123+
appenderEvent.should.be event
124+
appenderEvent = undefined;
125+
126+
var otherLogger = log4js.getLogger('pants');
127+
otherLogger.debug("big pants");
128+
appenderEvent.should.not.be undefined
129+
appenderEvent.message.should.be "big pants"
130+
appenderEvent = undefined;
131+
132+
otherLogger = null;
133+
134+
log4js.getLogger("something else").debug("pants");
135+
appenderEvent.should.be undefined
136+
end
137+
end
87138
end
88139

89140
describe 'basicLayout'
@@ -132,7 +183,7 @@ describe 'log4js'
132183
try {
133184
fs.unlinkSync('./tmp-tests.log');
134185
} catch(e) {
135-
print('Could not delete tmp-tests.log: '+e.message);
186+
//print('Could not delete tmp-tests.log: '+e.message);
136187
}
137188
end
138189

@@ -171,12 +222,12 @@ describe 'log4js'
171222
try {
172223
fs.unlinkSync('./tmp-tests.log');
173224
} catch(e) {
174-
print('Could not delete tmp-tests.log: '+e.message);
225+
//print('Could not delete tmp-tests.log: '+e.message);
175226
}
176227
try {
177228
fs.unlinkSync('./tmp-tests-warnings.log');
178229
} catch (e) {
179-
print('Could not delete tmp-tests-warnings.log: '+e.message);
230+
//print('Could not delete tmp-tests-warnings.log: '+e.message);
180231
}
181232
end
182233

@@ -185,6 +236,8 @@ describe 'log4js'
185236
//and sets the log level for "tests" to WARN
186237
log4js.configure('spec/fixtures/log4js.json');
187238
event = undefined;
239+
logger = log4js.getLogger("tests");
240+
logger.addListener("log", function(evt) { event = evt });
188241

189242
logger.info('this should not fire an event');
190243
event.should.be undefined
@@ -196,7 +249,6 @@ describe 'log4js'
196249

197250
it 'should handle logLevelFilter configuration'
198251
log4js.configure('spec/fixtures/with-logLevelFilter.json');
199-
event = undefined;
200252

201253
logger.info('main');
202254
logger.error('both');
@@ -207,9 +259,14 @@ describe 'log4js'
207259
waitForWriteAndThenReadFile('./tmp-tests-warnings.log').should.be 'both\nboth\n'
208260
end
209261
end
262+
210263
end
211264

212265
describe 'Date'
266+
before
267+
require("log4js");
268+
end
269+
213270
describe 'toFormattedString'
214271
it 'should add a toFormattedString method to Date'
215272
var date = new Date();

tests.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
require.paths.unshift("./spec/lib", "./lib");
22
require("jspec");
33

4-
log4js = require("log4js-node");
5-
64
var sys = require("sys"), fs = require("fs");
75

86
quit = process.exit
@@ -11,7 +9,7 @@ print = sys.puts
119
readFile = function(path) {
1210
var result;
1311
try {
14-
result = fs.readFileSync(path);
12+
result = fs.readFileSync(path, "utf8");
1513
} catch (e) {
1614
throw e;
1715
}
@@ -37,7 +35,7 @@ if (process.ARGV[2]) {
3735
);
3836
}
3937
if (specsFound) {
40-
JSpec.run({ reporter: JSpec.reporters.Terminal });
38+
JSpec.run({ reporter: JSpec.reporters.Terminal, failuresOnly: false });
4139
JSpec.report();
4240
} else {
4341
print("No tests to run. This makes me sad.");

0 commit comments

Comments
 (0)
0