logger.js 1.17 KB
Newer Older
1
// const _ = require('lodash')
2
const winston = require('winston')
3

4
/* global WIKI */
5

6
module.exports = {
7
  loggers: {},
8
  init(uid) {
9 10 11 12 13 14 15 16 17 18 19 20 21
    const loggerFormats = [
      winston.format.label({ label: uid }),
      winston.format.timestamp()
    ]

    if (WIKI.config.logFormat === 'json') {
      loggerFormats.push(winston.format.json())
    } else {
      loggerFormats.push(winston.format.colorize())
      loggerFormats.push(winston.format.printf(info => `${info.timestamp} [${info.label}] ${info.level}: ${info.message}`))
    }

    const logger = winston.createLogger({
22
      level: WIKI.config.logLevel,
23
      format: winston.format.combine(...loggerFormats)
24
    })
25

26 27
    // Init Console (default)

28 29 30 31 32 33 34
    logger.add(new winston.transports.Console({
      level: WIKI.config.logLevel,
      prettyPrint: true,
      colorize: true,
      silent: false,
      timestamp: true
    }))
35 36 37 38 39 40

    // _.forOwn(_.omitBy(WIKI.config.logging.loggers, s => s.enabled === false), (loggerConfig, loggerKey) => {
    //   let loggerModule = require(`../modules/logging/${loggerKey}`)
    //   loggerModule.init(logger, loggerConfig)
    //   this.loggers[logger.key] = loggerModule
    // })
41

42 43
    return logger
  }
44
}