moved debug fn out to own module, added tests
This commit is contained in:
parent
fc7f686f65
commit
0e5da1d361
@ -4,6 +4,7 @@ var layouts = require('../layouts');
|
||||
var levels = require('../levels');
|
||||
var dgram = require('dgram');
|
||||
var util = require('util');
|
||||
var debug = require('../debug')('GELF Appender');
|
||||
|
||||
var LOG_EMERG=0; // system is unusable
|
||||
var LOG_ALERT=1; // action must be taken immediately
|
||||
@ -24,13 +25,6 @@ levelMapping[levels.WARN] = LOG_WARNING;
|
||||
levelMapping[levels.ERROR] = LOG_ERR;
|
||||
levelMapping[levels.FATAL] = LOG_CRIT;
|
||||
|
||||
var debug;
|
||||
if (process.env.NODE_DEBUG && /\blog4js\b/.test(process.env.NODE_DEBUG)) {
|
||||
debug = function(message) { console.error('LOG4JS: (GELF Appender) %s', message); };
|
||||
} else {
|
||||
debug = function() { };
|
||||
}
|
||||
|
||||
/**
|
||||
* GELF appender that supports sending UDP packets to a GELF compatible server such as Graylog
|
||||
*
|
||||
|
15
lib/debug.js
Normal file
15
lib/debug.js
Normal file
@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function(label) {
|
||||
var debug;
|
||||
|
||||
if (process.env.NODE_DEBUG && /\blog4js\b/.test(process.env.NODE_DEBUG)) {
|
||||
debug = function(message) {
|
||||
console.error('LOG4JS: (%s) %s', label, message);
|
||||
};
|
||||
} else {
|
||||
debug = function() { };
|
||||
}
|
||||
|
||||
return debug;
|
||||
};
|
@ -1,6 +1,7 @@
|
||||
"use strict";
|
||||
var fs = require('fs')
|
||||
, stream
|
||||
, debug = require('../debug')('BaseRollingFileStream')
|
||||
, util = require('util')
|
||||
, semver = require('semver');
|
||||
|
||||
@ -10,13 +11,6 @@ if (semver.satisfies(process.version, '>=0.10.0')) {
|
||||
stream = require('readable-stream');
|
||||
}
|
||||
|
||||
var debug;
|
||||
if (process.env.NODE_DEBUG && /\blog4js\b/.test(process.env.NODE_DEBUG)) {
|
||||
debug = function(message) { console.error('LOG4JS: (BaseRollingFileStream) %s', message); };
|
||||
} else {
|
||||
debug = function() { };
|
||||
}
|
||||
|
||||
module.exports = BaseRollingFileStream;
|
||||
|
||||
function BaseRollingFileStream(filename, options) {
|
||||
|
@ -1,5 +1,6 @@
|
||||
"use strict";
|
||||
var BaseRollingFileStream = require('./BaseRollingFileStream')
|
||||
, debug = require('../debug')('DateRollingFileStream')
|
||||
, format = require('../date_format')
|
||||
, async = require('async')
|
||||
, fs = require('fs')
|
||||
@ -7,13 +8,6 @@ var BaseRollingFileStream = require('./BaseRollingFileStream')
|
||||
|
||||
module.exports = DateRollingFileStream;
|
||||
|
||||
var debug;
|
||||
if (process.env.NODE_DEBUG && /\blog4js\b/.test(process.env.NODE_DEBUG)) {
|
||||
debug = function(message) { console.error('LOG4JS: (DateRollingFileStream) %s', message); };
|
||||
} else {
|
||||
debug = function() { };
|
||||
}
|
||||
|
||||
function DateRollingFileStream(filename, pattern, options, now) {
|
||||
debug("Now is " + now);
|
||||
if (pattern && typeof(pattern) === 'object') {
|
||||
|
@ -1,17 +1,11 @@
|
||||
"use strict";
|
||||
var BaseRollingFileStream = require('./BaseRollingFileStream')
|
||||
, debug = require('../debug')('RollingFileStream')
|
||||
, util = require('util')
|
||||
, path = require('path')
|
||||
, fs = require('fs')
|
||||
, async = require('async');
|
||||
|
||||
var debug;
|
||||
if (process.env.NODE_DEBUG && /\blog4js\b/.test(process.env.NODE_DEBUG)) {
|
||||
debug = function(message) { console.error('LOG4JS: (RollingFileStream) %s', message); };
|
||||
} else {
|
||||
debug = function() { };
|
||||
}
|
||||
|
||||
module.exports = RollingFileStream;
|
||||
|
||||
function RollingFileStream (filename, size, backups, options) {
|
||||
|
72
test/debug-test.js
Normal file
72
test/debug-test.js
Normal file
@ -0,0 +1,72 @@
|
||||
"use strict";
|
||||
var vows = require('vows')
|
||||
, assert = require('assert')
|
||||
, sandbox = require('sandboxed-module')
|
||||
, fakeConsole = {
|
||||
error: function(format, label, message) {
|
||||
this.logged = [ format, label, message ];
|
||||
}
|
||||
}
|
||||
, globals = function(debugValue) {
|
||||
return {
|
||||
process: {
|
||||
env: {
|
||||
'NODE_DEBUG': debugValue
|
||||
}
|
||||
},
|
||||
console: fakeConsole
|
||||
};
|
||||
};
|
||||
|
||||
vows.describe('../lib/debug').addBatch({
|
||||
'when NODE_DEBUG is set to log4js': {
|
||||
topic: function() {
|
||||
var debug = sandbox.require(
|
||||
'../lib/debug',
|
||||
{ 'globals': globals('log4js') }
|
||||
);
|
||||
|
||||
fakeConsole.logged = [];
|
||||
debug('cheese')('biscuits');
|
||||
return fakeConsole.logged;
|
||||
},
|
||||
'it should log to console.error': function(logged) {
|
||||
assert.equal(logged[0], 'LOG4JS: (%s) %s');
|
||||
assert.equal(logged[1], 'cheese');
|
||||
assert.equal(logged[2], 'biscuits');
|
||||
}
|
||||
},
|
||||
|
||||
'when NODE_DEBUG is set to not log4js': {
|
||||
topic: function() {
|
||||
var debug = sandbox.require(
|
||||
'../lib/debug',
|
||||
{ globals: globals('other_module') }
|
||||
);
|
||||
|
||||
fakeConsole.logged = [];
|
||||
debug('cheese')('biscuits');
|
||||
return fakeConsole.logged;
|
||||
},
|
||||
'it should not log to console.error': function(logged) {
|
||||
assert.equal(logged.length, 0);
|
||||
}
|
||||
},
|
||||
|
||||
'when NODE_DEBUG is not set': {
|
||||
topic: function() {
|
||||
var debug = sandbox.require(
|
||||
'../lib/debug',
|
||||
{ globals: globals(null) }
|
||||
);
|
||||
|
||||
fakeConsole.logged = [];
|
||||
debug('cheese')('biscuits');
|
||||
return fakeConsole.logged;
|
||||
},
|
||||
'it should not log to console.error': function(logged) {
|
||||
assert.equal(logged.length, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}).exportTo(module);
|
Loading…
Reference in New Issue
Block a user