UNPKG

@pubsweet/logger

Version:

A module encapsulating standard logging features for pubsweet components and services.

41 lines (33 loc) 961 B
process.env.SUPPRESS_NO_CONFIG_WARNING = true const config = require('config') const validations = require('./validations') let loggerConfig if (config.has('pubsweet-server')) { loggerConfig = config.get('pubsweet-server').logger } let logger = validations.validateConfig(loggerConfig) let configured = Boolean(logger) if (!configured) { global.console.debug = (...args) => global.console.log(args) logger = global.console } module.exports = { error: (...args) => logger.error(...args), warn: (...args) => logger.warn(...args), info: (...args) => logger.info(...args), debug: (...args) => logger.debug(...args), stream: { write(message, encoding) { logger.info(message) }, }, configure: theirLogger => { if (configured) { throw new Error('Logger has already been configured') } validations.validateConfig(theirLogger) logger = theirLogger configured = true }, getRawLogger: () => logger, }