1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-02-21 07:29:37 +01:00

feat: ensure every log file has at least one record (#1414)

This commit is contained in:
Marc Udoff 2019-09-07 01:14:28 -04:00 committed by Juan Picado @jotadeveloper
parent d5303f407b
commit 962d5d529a
2 changed files with 17 additions and 2 deletions

@ -29,7 +29,7 @@ if (semver.satisfies(process.version, `>=${MIN_NODE_VERSION}`) === false) {
process.title = 'verdaccio';
const logger = require('./logger');
logger.setup(); // default setup
logger.setup(null, {logStart: false}); // default setup
const envinfo = require('envinfo');
const commander = require('commander');

@ -20,6 +20,11 @@ class VerdaccioRotatingFileStream extends Logger.RotatingFileStream {
write(obj) {
super.write(jsonFormat(obj, false));
}
rotate(): void {
super.rotate();
this.emit('rotated');
}
}
let logger;
@ -38,7 +43,7 @@ const DEFAULT_LOGGER_CONF = [{ type: 'stdout', format: 'pretty', level: 'http' }
* Setup the Buyan logger
* @param {*} logs list of log configuration
*/
function setup(logs) {
function setup(logs, { logStart } = { logStart: true }) {
const streams: any = [];
if (logs == null) {
logs = DEFAULT_LOGGER_CONF;
@ -79,6 +84,10 @@ function setup(logs) {
stream,
};
if (logStart) {
stream.on('rotated', () => logger.warn('Start of logfile'));
}
streams.push(rotateStream);
} else {
const stream = new Stream();
@ -137,6 +146,12 @@ function setup(logs) {
},
});
// In case of an empty log file, we ensure there is always something logged. This also helps see if the server
// was restarted in any cases
if (logStart) {
logger.warn('Verdaccio started');
}
process.on('SIGUSR2', function() {
Logger.reopenFileStreams();
});