getLogger.js 750 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. const fs = require('fs-extra');
  2. const Logger = require('./Logger');
  3. let logger = null;
  4. function initLogger(config) {
  5. if (logger)
  6. logger.close();
  7. let loggerParams = null;
  8. if (config.loggingEnabled) {
  9. fs.ensureDirSync(config.logDir);
  10. loggerParams = [
  11. {log: 'ConsoleLog'},
  12. {log: 'FileLog', fileName: `${config.logDir}/${config.name}.log`},
  13. ];
  14. }
  15. logger = new Logger(loggerParams);
  16. return logger;
  17. }
  18. function getLogger() {
  19. if (logger)
  20. return logger;
  21. throw new Error('getLogger error: logger not initialized');
  22. }
  23. function getLog() {
  24. const l = getLogger();
  25. return l.log.bind(l);
  26. }
  27. module.exports = {
  28. initLogger,
  29. getLogger,
  30. getLog,
  31. };