| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | 'use strict'const winston = require('winston')module.exports = (isDebug) => {  if (typeof PROCNAME === 'undefined') {    const PROCNAME = 'SERVER' // eslint-disable-line no-unused-vars  }  // Console + File Logs  winston.remove(winston.transports.Console)  winston.add(winston.transports.Console, {    level: (isDebug) ? 'debug' : 'info',    prettyPrint: true,    colorize: true,    silent: false,    timestamp: true,    filters: [(level, msg, meta) => {      return '[' + PROCNAME + '] ' + msg // eslint-disable-line no-undef    }]  })  // External services  if (appconfig.externalLogging.bugsnag) {    const bugsnagTransport = require('./winston-transports/bugsnag')    winston.add(bugsnagTransport, {      level: 'warn',      key: appconfig.externalLogging.bugsnag    })  }  if (appconfig.externalLogging.loggly) {    require('winston-loggly-bulk')    winston.add(winston.transports.Loggly, {      token: appconfig.externalLogging.loggly.token,      subdomain: appconfig.externalLogging.loggly.subdomain,      tags: ['wiki-js'],      level: 'warn',      json: true    })  }  if (appconfig.externalLogging.papertrail) {    require('winston-papertrail').Papertrail // eslint-disable-line no-unused-expressions    winston.add(winston.transports.Papertrail, {      host: appconfig.externalLogging.papertrail.host,      port: appconfig.externalLogging.papertrail.port,      level: 'warn',      program: 'wiki.js'    })  }  if (appconfig.externalLogging.rollbar) {    const rollbarTransport = require('./winston-transports/rollbar')    winston.add(rollbarTransport, {      level: 'warn',      key: appconfig.externalLogging.rollbar    })  }  if (appconfig.externalLogging.sentry) {    const sentryTransport = require('./winston-transports/sentry')    winston.add(sentryTransport, {      level: 'warn',      key: appconfig.externalLogging.sentry    })  }  return winston}
 |