Lazy load any new style appenders
This commit is contained in:
@@ -43,6 +43,7 @@ function createAppender(hookioOptions, actualAppender) {
|
||||
function configure(config) {
|
||||
var actualAppender;
|
||||
if (config.appender && config.mode === 'master') {
|
||||
log4js.loadAppender(config.appender.type);
|
||||
actualAppender = log4js.appenderMakers[config.appender.type](config.appender);
|
||||
}
|
||||
delete config.appender;
|
||||
|
||||
@@ -136,6 +136,7 @@ function configureAppenders(appenderList) {
|
||||
clearAppenders();
|
||||
if (appenderList) {
|
||||
appenderList.forEach(function(appenderConfig) {
|
||||
loadAppender(appenderConfig.type);
|
||||
var appender;
|
||||
appenderConfig.makers = appenderMakers;
|
||||
appender = appenderMakers[appenderConfig.type](appenderConfig);
|
||||
@@ -347,15 +348,10 @@ function replaceConsole(logger) {
|
||||
});
|
||||
}
|
||||
|
||||
function loadAppenders() {
|
||||
var appenderList = fs.readdirSync(__dirname + '/appenders');
|
||||
appenderList.forEach(function(file) {
|
||||
if (/\.js$/.test(file)) {
|
||||
var appenderModule = require('./appenders/' + file);
|
||||
module.exports.appenders[appenderModule.name] = appenderModule.appender;
|
||||
appenderMakers[appenderModule.name] = appenderModule.configure;
|
||||
}
|
||||
});
|
||||
function loadAppender(appender) {
|
||||
var appenderModule = require('./appenders/' + appender);
|
||||
module.exports.appenders[appenderModule.name] = appenderModule.appender;
|
||||
appenderMakers[appenderModule.name] = appenderModule.configure;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
@@ -363,6 +359,7 @@ module.exports = {
|
||||
getDefaultLogger: getDefaultLogger,
|
||||
|
||||
addAppender: addAppender,
|
||||
loadAppender: loadAppender,
|
||||
clearAppenders: clearAppenders,
|
||||
configure: configure,
|
||||
|
||||
@@ -375,7 +372,11 @@ module.exports = {
|
||||
connectLogger: require('./connect-logger').connectLogger
|
||||
};
|
||||
|
||||
loadAppenders();
|
||||
//load the old-style appenders
|
||||
[ 'console', 'file', 'logLevelFilter' ].forEach(function(appender) {
|
||||
loadAppender(appender);
|
||||
});
|
||||
|
||||
//set ourselves up if we can find a default log4js.json
|
||||
configure(findConfiguration());
|
||||
//replace console.log, etc with log4js versions
|
||||
|
||||
Reference in New Issue
Block a user