You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.2 KiB

  1. // const _ = require('lodash')
  2. const winston = require('winston')
  3. /* global WIKI */
  4. module.exports = {
  5. loggers: {},
  6. init(uid) {
  7. const loggerFormats = [
  8. winston.format.label({ label: uid }),
  9. winston.format.timestamp()
  10. ]
  11. if (WIKI.config.logFormat === 'json') {
  12. loggerFormats.push(winston.format.json())
  13. } else {
  14. loggerFormats.push(winston.format.colorize())
  15. loggerFormats.push(winston.format.printf(info => `${info.timestamp} [${info.label}] ${info.level}: ${info.message}`))
  16. }
  17. const logger = winston.createLogger({
  18. level: WIKI.config.logLevel,
  19. format: winston.format.combine(...loggerFormats)
  20. })
  21. // Init Console (default)
  22. logger.add(new winston.transports.Console({
  23. level: WIKI.config.logLevel,
  24. prettyPrint: true,
  25. colorize: true,
  26. silent: false,
  27. timestamp: true
  28. }))
  29. // _.forOwn(_.omitBy(WIKI.config.logging.loggers, s => s.enabled === false), (loggerConfig, loggerKey) => {
  30. // let loggerModule = require(`../modules/logging/${loggerKey}`)
  31. // loggerModule.init(logger, loggerConfig)
  32. // this.loggers[logger.key] = loggerModule
  33. // })
  34. return logger
  35. }
  36. }