12345678910111213141516171819202122232425262728293031323334353637383940 |
- /* global wiki */
- const cluster = require('cluster')
- const _ = require('lodash')
- const fs = require('fs-extra')
- const path = require('path')
- module.exports = {
- loggers: {},
- init() {
- let winston = require('winston')
- let logger = new (winston.Logger)({
- level: wiki.config.logLevel,
- transports: []
- })
- logger.filters.push((level, msg) => {
- let processName = (cluster.isMaster) ? 'MASTER' : `WORKER-${cluster.worker.id}`
- return '[' + processName + '] ' + msg
- })
- _.forOwn(_.omitBy(wiki.config.logging.loggers, s => s.enabled === false), (loggerConfig, loggerKey) => {
- let loggerModule = require(`../extensions/logging/${loggerKey}`)
- loggerModule.init(logger, loggerConfig)
- fs.readFile(path.join(wiki.ROOTPATH, `assets/svg/auth-icon-${loggerKey}.svg`), 'utf8').then(iconData => {
- logger.icon = iconData
- }).catch(err => {
- if (err.code === 'ENOENT') {
- logger.icon = '[missing icon]'
- } else {
- logger.error(err)
- }
- })
- this.loggers[logger.key] = loggerModule
- })
- return logger
- }
- }
|