// Самодельный логгер, почти аналог: https://thecode.media/winston/ class Log { constructor() { this.data = []; this.win = null; } show() { if (this.win != null) this.win.Close(); this.win = new TWin(); this.win.divsh.onclick = null; this.win.shadow = false; //this.win.setParent(this.parent.win); this.win.BuildGUI(10, 10); this.win.setCaption(trt('Log')); this.win.setContent('
'); this.win.setSize("600px", "260px"); this.win.setCenter(); this.win.hide(false); this.addLine(true); } hide(){ if(this.win!=null) this.win.Close(); this.win=null; } addLine(all){ if (this.win == null) return; let elem = document.getElementById("log_" + this.win.uid); let i = 0; if(!all) i = this.data.length-1; for (;i < this.data.length;i++) { let div = document.createElement('div'); if(this.data[i].p==1){ div.style.cssText='color: maroon; width:100%;'; } else if(this.data[i].p==2){ div.style.cssText='color: green; width:100%;'; } else if(this.data[i].p==3){ div.style.cssText='color: orange; width:100%;'; } else if(this.data[i].p==4){ div.style.cssText='color: red; width:100%;'; } div.innerHTML = "["+this.data[i].t+"] "+this.data[i].d; elem.appendChild(div); } } getTime(){ let data=new Date(); return ('0'+data.getHours()).slice(-2)+":"+('0'+data.getMinutes()).slice(-2)+":"+('0'+data.getSeconds()).slice(-2)+":"+('00'+data.getMilliseconds()).slice(-3); } debug(msg){ this.data.push({"p":1,"d":msg,"t": this.getTime()}); this.addLine(false); } info(msg){ this.data.push({"p":2,"d":msg,"t": this.getTime()}); this.addLine(false); } warn(msg){ this.data.push({"p":3,"d":msg,"t": this.getTime()}); this.addLine(false); } error(msg){ this.data.push({"p":4,"d":msg,"t": this.getTime()}); this.addLine(false); } } var log = new Log(); /*log.debug("log.debug"); log.info("log.info"); log.warn("log.warn"); log.error("log.error");*/