Advertisement
gsimon75

LogHack

Sep 7th, 2020
1,537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function start(policy) {
  3.     if (!("loghack" in console)) {
  4.         console.loghack = {
  5.             policies: [],
  6.             loggers: [],
  7.             buffers: [],
  8.         };
  9.     }
  10.     console.loghack.policies.unshift(policy);
  11.     console.loghack.loggers.unshift(console.log);
  12.     console.loghack.buffers.unshift("");
  13.     console.log = (msg) => {
  14.         if (console.loghack.buffers[0] === "") {
  15.             console.loghack.buffers[0] += msg;
  16.         }
  17.         else {
  18.             console.loghack.buffers[0] += "\n" + msg;
  19.         }
  20.     };
  21. }
  22.  
  23. function flush() {
  24.     if (console.loghack.buffers[0] !== "") {
  25.         console.loghack.loggers[0](console.loghack.buffers[0]);
  26.         console.loghack.buffers[0] = "";
  27.     }
  28. }
  29. function discard() {
  30.     console.loghack.buffers[0] = "";
  31. }
  32.  
  33. function stop() {
  34.     var policy = console.loghack.policies.shift();
  35.     if (policy === "flush")
  36.         flush();
  37.     console.loghack.buffers.shift();
  38.     console.log = console.loghack.loggers.shift();
  39. }
  40.  
  41. exports.start = start;
  42. exports.flush = flush;
  43. exports.discard = discard;
  44. exports.stop = stop;
  45.  
  46. // vim: set ts=4 sw=4 et:
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement