Recreate stream on SIGHUP event

This commit is contained in:
Daniel García Aubert
2016-09-26 17:39:27 +02:00
parent f963fb321e
commit 2d75985cb3
+15 -1
View File
@@ -19,17 +19,31 @@ AnalysisBackend.prototype.setBatchConfig = function (options) {
AnalysisBackend.prototype.setLoggerConfig = function (options) {
var loggerConfig = options || {};
loggerConfig.filename = loggerConfig.filename;
this.loggerConfig = loggerConfig;
if (this.loggerConfig.filename) {
this.stream = fs.createWriteStream(this.loggerConfig.filename, { flags: 'a', encoding: 'utf8' });
process.on('SIGHUP', function () {
if (this.stream) {
this.stream.destroy();
}
this.stream = fs.createWriteStream(this.loggerConfig.filename, { flags: 'a', encoding: 'utf8' });
}.bind(this));
}
};
AnalysisBackend.prototype.create = function(analysisConfiguration, analysisDefinition, callback) {
analysisConfiguration.batch.endpoint = this.batchConfig.endpoint;
analysisConfiguration.batch.inlineExecution = this.batchConfig.inlineExecution;
analysisConfiguration.batch.hostHeaderTemplate = this.batchConfig.hostHeaderTemplate;
analysisConfiguration.logger = {
stream: this.loggerConfig.filename ? fs.createWriteStream(this.loggerConfig.filename) : process.stdout
stream: this.stream ? this.stream : process.stdout
};
camshaft.create(analysisConfiguration, analysisDefinition, callback);