trying out a shutdown function

This commit is contained in:
Gareth Jones
2013-08-05 07:21:12 +10:00
parent 1e17f88ded
commit ce8b6b06b9
2 changed files with 38 additions and 1 deletions
+18 -1
View File
@@ -1,5 +1,6 @@
"use strict";
var layouts = require('../layouts')
, async = require('async')
, path = require('path')
, fs = require('fs')
, streams = require('../streams')
@@ -61,7 +62,12 @@ function fileAppender (file, layout, logSize, numBackups) {
openFiles.push(logFile);
return function(loggingEvent) {
logFile.write(layout(loggingEvent) + eol, "utf8");
logFile.write(layout(loggingEvent) + eol, "utf8",
function() {
// just here to keep the event loop
// open - doesn't work.
return;
});
};
}
@@ -78,5 +84,16 @@ function configure(config, options) {
return fileAppender(config.filename, layout, config.maxLogSize, config.backups);
}
function shutdown(cb) {
async.forEach(openFiles, function(file, done) {
if (!file.write(eol, "utf-8")) {
file.once('drain', function() {
file.end(done);
});
}
}, cb);
}
exports.appender = fileAppender;
exports.configure = configure;
exports.shutdown = shutdown;