logger.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. 'use strict';
  2. const fs = require('fs');
  3. /*const log_file = fs.createWriteStream(__dirname + '/../../all.log', {flags : 'w'});
  4. const success_log_file = fs.createWriteStream(__dirname + '/../../success.log', {flags : 'w'});
  5. const error_log_file = fs.createWriteStream(__dirname + '/../../error.log', {flags : 'w'});
  6. const info_log_file = fs.createWriteStream(__dirname + '/../../info.log', {flags : 'w'});*/
  7. let twoDigits = (num) => {
  8. return (num < 10) ? '0' + num : num;
  9. };
  10. let getTime = (cb) => {
  11. let time = new Date();
  12. return cb ({
  13. year: time.getFullYear(),
  14. month: time.getMonth() + 1,
  15. day: time.getDate(),
  16. hour: time.getHours(),
  17. minute: time.getMinutes(),
  18. second: time.getSeconds()
  19. });
  20. };
  21. module.exports = {
  22. success: (type, message) => {
  23. getTime((time) => {
  24. let timeString = `${time.year}-${twoDigits(time.month)}-${twoDigits(time.day)} ${twoDigits(time.hour)}:${twoDigits(time.minute)}:${twoDigits(time.second)}`;
  25. fs.appendFile(__dirname + '/../../all.log', `${timeString} SUCCESS - ${type} - ${message}\n`);
  26. fs.appendFile(__dirname + '/../../success.log', `${timeString} SUCCESS - ${type} - ${message}\n`);
  27. console.info('\x1b[32m', timeString, 'SUCCESS', '-', type, '-', message, '\x1b[0m');
  28. });
  29. },
  30. error: (type, message) => {
  31. getTime((time) => {
  32. let timeString = `${time.year}-${twoDigits(time.month)}-${twoDigits(time.day)} ${twoDigits(time.hour)}:${twoDigits(time.minute)}:${twoDigits(time.second)}`;
  33. fs.appendFile(__dirname + '/../../all.log', `${timeString} ERROR - ${type} - ${message}\n`);
  34. fs.appendFile(__dirname + '/../../error.log', `${timeString} ERROR - ${type} - ${message}\n`);
  35. console.warn('\x1b[31m', timeString, 'ERROR', '-', type, '-', message, '\x1b[0m');
  36. });
  37. },
  38. info: (type, message) => {
  39. getTime((time) => {
  40. let timeString = `${time.year}-${twoDigits(time.month)}-${twoDigits(time.day)} ${twoDigits(time.hour)}:${twoDigits(time.minute)}:${twoDigits(time.second)}`;
  41. fs.appendFile(__dirname + '/../../all.log', `${timeString} INFO - ${type} - ${message}\n`);
  42. fs.appendFile(__dirname + '/../../info.log', `${timeString} INFO - ${type} - ${message}\n`);
  43. console.info('\x1b[36m', timeString, 'INFO', '-', type, '-', message, '\x1b[0m');
  44. });
  45. }
  46. };