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