added methods and config to turn off console.log replacement (issue #34)
This commit is contained in:
@@ -279,6 +279,12 @@ function configureOnceOff(config) {
|
||||
try {
|
||||
configureAppenders(config.appenders);
|
||||
configureLevels(config.levels);
|
||||
|
||||
if (config.doNotReplaceConsole) {
|
||||
restoreConsole();
|
||||
} else {
|
||||
replaceConsole();
|
||||
}
|
||||
} catch (e) {
|
||||
throw new Error("Problem reading log4js config " + util.inspect(config) + ". Error was \"" + e.message + "\" ("+e.stack+")");
|
||||
}
|
||||
@@ -339,13 +345,22 @@ function replaceConsole(logger) {
|
||||
fn.apply(logger, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
['log','debug','info','warn','error'].forEach(function (item) {
|
||||
if (console['_preLog4js_log'] === undefined) {
|
||||
if (console['_preLog4js_log'] === undefined) {
|
||||
logger = logger || getLogger("console");
|
||||
['log','debug','info','warn','error'].forEach(function (item) {
|
||||
console['_preLog4js_'+item] = console[item];
|
||||
}
|
||||
console[item] = replaceWith(item === 'log' ? logger.info : logger[item]);
|
||||
});
|
||||
console[item] = replaceWith(item === 'log' ? logger.info : logger[item]);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function restoreConsole() {
|
||||
if (console['_preLog4js_log']) {
|
||||
['log', 'debug', 'info', 'warn', 'error'].forEach(function (item) {
|
||||
console[item] = console['_preLog4js_'+item];
|
||||
delete console['_preLog4js_'+item];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function loadAppender(appender) {
|
||||
@@ -363,6 +378,9 @@ module.exports = {
|
||||
clearAppenders: clearAppenders,
|
||||
configure: configure,
|
||||
|
||||
replaceConsole: replaceConsole,
|
||||
restoreConsole: restoreConsole,
|
||||
|
||||
levels: levels,
|
||||
setGlobalLogLevel: setGlobalLogLevel,
|
||||
|
||||
@@ -379,8 +397,6 @@ module.exports = {
|
||||
|
||||
//set ourselves up if we can find a default log4js.json
|
||||
configure(findConfiguration());
|
||||
//replace console.log, etc with log4js versions
|
||||
replaceConsole(getLogger("console"));
|
||||
|
||||
//keep the old-style layouts
|
||||
['basicLayout','messagePassThroughLayout','colouredLayout','coloredLayout'].forEach(function(item) {
|
||||
|
||||
Reference in New Issue
Block a user