Allow shutting down of appenders without disabling future log writes
This commit is contained in:
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…
Reference in New Issue
Block a user