Home Reference Source

cables_dev/cables_electron/src/utils/logger.js

  1. import { utilProvider, SharedLogger } from "cables-shared-api";
  2. import log from "electron-log/main.js";
  3.  
  4. class Logger extends SharedLogger
  5. {
  6. constructor(provider)
  7. {
  8. super(provider);
  9. const logFormat = "[electron-{processType}] {d}.{m}.{y} {h}:{i}:{s} {text}";
  10. log.transports.file.maxSize = 20 * 1024 * 1024;
  11. log.initialize();
  12. log.transports.console.format = logFormat;
  13. log.transports.file.format = logFormat;
  14. log.transports.ipc.level = "debug";
  15.  
  16. this.loadStart = performance.now();
  17. this.startUpLog = [];
  18. }
  19.  
  20. debug(...args)
  21. {
  22. log.debug("[" + this._initiator + "]", "DEBUG", args.join(" "));
  23. }
  24.  
  25. endTime(...args)
  26. {
  27. super.endTime(...args);
  28. }
  29.  
  30. error(...args)
  31. {
  32. log.error("[" + this._initiator + "]", "ERROR", args.join(" "), this._getContext(args));
  33. }
  34.  
  35. info(...args)
  36. {
  37. log.info("[" + this._initiator + "]", args.join(" "));
  38. }
  39.  
  40. startTime(...args)
  41. {
  42. super.startTime(...args);
  43. }
  44.  
  45. uncaught(...args)
  46. {
  47. log.error("[" + this._initiator + "]", "UNCAUGHT", args.join(" "), this._getContext(args));
  48. }
  49.  
  50. verbose(...args)
  51. {
  52. log.verbose("[" + this._initiator + "]", args.join(" "));
  53. }
  54.  
  55. warn(...args)
  56. {
  57. log.warn("[" + this._initiator + "]", "WARN", args.join(" "));
  58. }
  59.  
  60. event(...args)
  61. {
  62. log.verbose("[" + this._initiator + "]", args.join(" "));
  63. }
  64.  
  65. logStartup(title)
  66. {
  67. const time = Math.round((performance.now() - this.loadStart) / 1000 * 100) / 100;
  68. this.startUpLog.push({
  69. "title": title,
  70. "time": time
  71. });
  72. this.debug(title + " (" + time + "s)");
  73. }
  74. }
  75.  
  76. export default new Logger(utilProvider);