Allow shutting down of appenders without disabling future log writes

cdb
Raul Ochoa 10 years ago
parent ec5f4485f8
commit a669f7c2f4

@ -80,7 +80,9 @@ function configure(config, options) {
}
function shutdown(cb) {
async.each(openFiles, function(file, done) {
var filesToClose = openFiles;
openFiles = [];
async.each(filesToClose, function(file, done) {
if (!file.write(eol, "utf-8")) {
file.once('drain', function() {
file.end(done);

@ -176,6 +176,11 @@ function clearAppenders () {
}
}
function clearAndShutdownAppenders(cb) {
clearAppenders();
shutdownAppenders(cb);
}
function configureAppenders(appenderList, options) {
clearAppenders();
if (appenderList) {
@ -380,7 +385,10 @@ function shutdown(cb) {
// First, disable all writing to appenders. This prevents appenders from
// not being able to be drained because of run-away log writes.
loggerModule.disableAllLogWrites();
shutdownAppenders(cb);
}
function shutdownAppenders(cb) {
// Next, get all the shutdown functions for appenders as an array.
var shutdownFunctions = Object.keys(appenderShutdowns).reduce(
function(accum, category) {
@ -406,6 +414,7 @@ module.exports = {
addAppender: addAppender,
loadAppender: loadAppender,
clearAppenders: clearAppenders,
clearAndShutdownAppenders: clearAndShutdownAppenders,
configure: configure,
shutdown: shutdown,

Loading…
Cancel
Save