Added a hookio appender, this allows you to run a 'master' log4js instance and 'worker' so only one process writes to file

This commit is contained in:
Danny Brain
2011-10-27 12:38:13 +11:00
parent 0aca64623e
commit 3b77a42706
3 changed files with 69 additions and 10 deletions

View File

@@ -248,13 +248,13 @@ function getDefaultLogger () {
return getLogger(DEFAULT_CATEGORY);
}
function findConfiguration() {
function findConfiguration(filename) {
var path;
try {
path = require.resolve('log4js.json');
path = require.resolve(filename || 'log4js.json');
} catch (e) {
//file not found. default to the one in the log4js module.
path = __dirname + '/log4js.json';
path = filename || __dirname + '/log4js.json';
}
return path;
@@ -263,8 +263,8 @@ function findConfiguration() {
var configState = {};
function loadConfigurationFile(filename) {
filename = filename || findConfiguration();
if (filename && (!configState.lastFilename || filename !== configState.lastFilename ||
filename = findConfiguration(filename);
if (filename && (!configState.lastFilename || filename !== configState.lastFilename ||
!configState.lastMTime || fs.statSync(filename).mtime !== configState.lastMTime)) {
configState.lastFilename = filename;
configState.lastMTime = fs.statSync(filename).mtime;
@@ -285,7 +285,7 @@ function configureOnceOff(config) {
}
function reloadConfiguration() {
var filename = configState.filename || findConfiguration(),
var filename = findConfiguration(configState.filename),
mtime;
if (!filename) {
// can't find anything to reload
@@ -371,6 +371,7 @@ module.exports = {
layouts: layouts,
appenders: {},
appenderMakers: appenderMakers,
connectLogger: require('./connect-logger').connectLogger
};