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) {
|
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")) {
|
if (!file.write(eol, "utf-8")) {
|
||||||
file.once('drain', function() {
|
file.once('drain', function() {
|
||||||
file.end(done);
|
file.end(done);
|
||||||
|
@ -176,6 +176,11 @@ function clearAppenders () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clearAndShutdownAppenders(cb) {
|
||||||
|
clearAppenders();
|
||||||
|
shutdownAppenders(cb);
|
||||||
|
}
|
||||||
|
|
||||||
function configureAppenders(appenderList, options) {
|
function configureAppenders(appenderList, options) {
|
||||||
clearAppenders();
|
clearAppenders();
|
||||||
if (appenderList) {
|
if (appenderList) {
|
||||||
@ -380,7 +385,10 @@ function shutdown(cb) {
|
|||||||
// First, disable all writing to appenders. This prevents appenders from
|
// First, disable all writing to appenders. This prevents appenders from
|
||||||
// not being able to be drained because of run-away log writes.
|
// not being able to be drained because of run-away log writes.
|
||||||
loggerModule.disableAllLogWrites();
|
loggerModule.disableAllLogWrites();
|
||||||
|
shutdownAppenders(cb);
|
||||||
|
}
|
||||||
|
|
||||||
|
function shutdownAppenders(cb) {
|
||||||
// Next, get all the shutdown functions for appenders as an array.
|
// Next, get all the shutdown functions for appenders as an array.
|
||||||
var shutdownFunctions = Object.keys(appenderShutdowns).reduce(
|
var shutdownFunctions = Object.keys(appenderShutdowns).reduce(
|
||||||
function(accum, category) {
|
function(accum, category) {
|
||||||
@ -406,6 +414,7 @@ module.exports = {
|
|||||||
addAppender: addAppender,
|
addAppender: addAppender,
|
||||||
loadAppender: loadAppender,
|
loadAppender: loadAppender,
|
||||||
clearAppenders: clearAppenders,
|
clearAppenders: clearAppenders,
|
||||||
|
clearAndShutdownAppenders: clearAndShutdownAppenders,
|
||||||
configure: configure,
|
configure: configure,
|
||||||
shutdown: shutdown,
|
shutdown: shutdown,
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user