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:
parent
d5303f407b
commit
962d5d529a
@ -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();
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user