LOG_LEVEL_SOURCE env taking values file, gce_metadata or none, default file

This commit is contained in:
Christopher Hoskin
2020-07-24 11:59:23 +01:00
parent 0a15fedb34
commit 6bc0d15d78
2 changed files with 170 additions and 136 deletions
+14 -13
View File
@@ -22,7 +22,7 @@ const errSerializer = function (err) {
const Logger = (module.exports = {
initialize(name) {
this.useMetadata = (process.env.USE_METADATA || '').toLowerCase() === 'true'
this.logLevelSource = (process.env.LOG_LEVEL_SOURCE || 'file').toLowerCase()
this.isProduction =
(process.env.NODE_ENV || '').toLowerCase() === 'production'
this.defaultLevel =
@@ -80,14 +80,6 @@ async checkLogLevelMetadata() {
}
},
async checkLogLevel() {
if (this.useMetadata) {
await this.checkLogLevelMetadata()
} else {
await this.checkLogLevelFile()
}
},
initializeErrorReporting(sentryDsn, options) {
const raven = require('raven')
this.raven = new raven.Client(sentryDsn, options)
@@ -274,10 +266,19 @@ async checkLogLevelMetadata() {
if (this.checkInterval) {
clearInterval(this.checkInterval)
}
// check for log level override on startup
this.checkLogLevel()
// re-check log level every minute
this.checkInterval = setInterval(this.checkLogLevel.bind(this), 1000 * 60)
if (this.logLevelSource === 'file') {
// check for log level override on startup
this.checkLogLevelFile()
// re-check log level every minute
this.checkInterval = setInterval(this.checkLogLevelFile.bind(this), 1000 * 60)
} else if (this.logLevelSource === 'gce_metadata') {
// check for log level override on startup
this.checkLogLevelMetadata()
// re-check log level every minute
this.checkInterval = setInterval(this.checkLogLevelMetadata.bind(this), 1000 * 60)
} else if (this.logLevelSource !== 'none') {
console.log('Unrecognised log level source')
}
}
}
})