| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- import chalk from 'chalk'
 
- import EventEmitter from 'node:events'
 
- const LEVELS = ['error', 'warn', 'info', 'debug']
 
- const LEVELSIGNORED = ['verbose', 'silly']
 
- const LEVELCOLORS = {
 
-   error: 'red',
 
-   warn: 'yellow',
 
-   info: 'green',
 
-   debug: 'cyan'
 
- }
 
- class Logger extends EventEmitter {}
 
- export default {
 
-   loggers: {},
 
-   init () {
 
-     const primaryLogger = new Logger()
 
-     let ignoreNextLevels = false
 
-     primaryLogger.ws = new EventEmitter()
 
-     LEVELS.forEach(lvl => {
 
-       primaryLogger[lvl] = (...args) => {
 
-         primaryLogger.emit(lvl, ...args)
 
-       }
 
-       if (!ignoreNextLevels) {
 
-         primaryLogger.on(lvl, (msg) => {
 
-           let formatted = ''
 
-           if (WIKI.config.logFormat === 'json') {
 
-             formatted = JSON.stringify({
 
-               timestamp: new Date().toISOString(),
 
-               instance: WIKI.INSTANCE_ID,
 
-               level: lvl,
 
-               message: msg
 
-             })
 
-           } else {
 
-             if (msg instanceof Error) {
 
-               msg = msg.stack
 
-             }
 
-             formatted = `${new Date().toISOString()} ${chalk.dim('[' + WIKI.INSTANCE_ID + ']')} ${chalk[LEVELCOLORS[lvl]].bold(lvl)}: ${msg}`
 
-           }
 
-           console.log(formatted)
 
-           primaryLogger.ws.emit('log', formatted)
 
-         })
 
-       }
 
-       if (lvl === WIKI.config.logLevel) {
 
-         ignoreNextLevels = true
 
-       }
 
-     })
 
-     LEVELSIGNORED.forEach(lvl => {
 
-       primaryLogger[lvl] = () => {}
 
-     })
 
-     return primaryLogger
 
-   }
 
- }
 
 
  |