All checks were successful
/ build (map[dockerfile:./services/hasura/Dockerfile name:hasura]) (push) Successful in 47s
/ build (map[dockerfile:./services/web/Dockerfile name:web]) (push) Successful in 1m47s
/ build (map[dockerfile:./services/watchers/Dockerfile name:watchers]) (push) Successful in 2m37s
/ build (map[dockerfile:./services/files/Dockerfile name:files]) (push) Successful in 2m52s
/ build (map[dockerfile:./services/api/Dockerfile name:api]) (push) Successful in 3m2s
/ build (map[dockerfile:./services/app/Dockerfile name:app]) (push) Successful in 31s
/ build (map[dockerfile:./services/tasks/Dockerfile name:tasks]) (push) Successful in 2m44s
/ deploy (push) Successful in 48s
37 lines
804 B
JavaScript
37 lines
804 B
JavaScript
const prettyMilliseconds = require("pretty-ms")
|
|
|
|
function TimeLogger({
|
|
startTime = new Date(),
|
|
logger = console,
|
|
label = "elapsed",
|
|
logLevel = "debug",
|
|
} = {}) {
|
|
this.startTime = startTime
|
|
this.logger = logger
|
|
this.label = label
|
|
this.logLevel = logLevel
|
|
}
|
|
Object.assign(TimeLogger.prototype, {
|
|
end(options = {}) {
|
|
if (options.logger) {
|
|
this.logger = options.logger
|
|
}
|
|
if (options.label) {
|
|
this.label = options.label
|
|
}
|
|
if (options.logLevel) {
|
|
this.logLevel = options.logLevel
|
|
}
|
|
this.logger[this.logLevel](
|
|
`${this.label}: ${prettyMilliseconds(new Date() - this.startTime)}`
|
|
)
|
|
},
|
|
})
|
|
|
|
function createTimeLogger(params) {
|
|
return new TimeLogger(params)
|
|
}
|
|
|
|
createTimeLogger.TimeLogger = TimeLogger
|
|
|
|
module.exports = createTimeLogger
|