analogger 1.23.2 → 1.23.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/browser/ana-logger.mjs +62 -16
- package/dist/analogger-browser.min.mjs +5 -3
- package/dist/html-to-image-plugin.min.mjs +5 -3
- package/esm/ana-logger.mjs +62 -16
- package/package.json +1 -1
- package/src/ana-logger.cjs +62 -16
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
## [1.23.3](https://github.com/thimpat/analogger/compare/v1.23.2...v1.23.3) (2023-02-19)
|
|
2
|
+
|
|
1
3
|
## [1.23.2](https://github.com/thimpat/analogger/compare/v1.23.1...v1.23.2) (2023-02-18)
|
|
2
4
|
|
|
3
5
|
## [1.23.1](https://github.com/thimpat/analogger/compare/v1.23.0...v1.23.1) (2023-02-18)
|
package/browser/ana-logger.mjs
CHANGED
|
@@ -620,26 +620,72 @@ class ____AnaLogger
|
|
|
620
620
|
*/
|
|
621
621
|
onBuildLog({contextName, message = "", lid = "", symbol = ""} = {})
|
|
622
622
|
{
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
623
|
+
try
|
|
624
|
+
{
|
|
625
|
+
let strResult = "";
|
|
626
|
+
|
|
627
|
+
const strs = message.split(/\n/g);
|
|
628
|
+
|
|
629
|
+
for (let i = 0; i < strs.length; ++i)
|
|
630
|
+
{
|
|
631
|
+
let message0 = strs[i];
|
|
632
|
+
|
|
633
|
+
// Time
|
|
634
|
+
const date = new Date();
|
|
635
|
+
let time = ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2) + ":" + ("0" + date.getSeconds()).slice(-2);
|
|
636
|
+
|
|
637
|
+
// Display content in columns
|
|
638
|
+
time = this.truncateMessage(time, {fit: this.options.timeLenMax});
|
|
639
|
+
|
|
640
|
+
if (i > 0)
|
|
641
|
+
{
|
|
642
|
+
contextName = "";
|
|
643
|
+
lid = "";
|
|
644
|
+
}
|
|
645
|
+
contextName = this.truncateMessage(contextName, {
|
|
646
|
+
fit : this.options.contextLenMax,
|
|
647
|
+
align: ____AnaLogger.ALIGN.RIGHT
|
|
648
|
+
});
|
|
649
|
+
lid = this.truncateMessage(lid, {fit: this.options.lidLenMax});
|
|
650
|
+
|
|
651
|
+
if (this.options.messageLenMax !== undefined)
|
|
652
|
+
{
|
|
653
|
+
message0 = this.truncateMessage(message0, {fit: this.options.messageLenMax});
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
symbol = this.truncateMessage(symbol, {fit: this.options.symbolLenMax});
|
|
634
657
|
|
|
635
|
-
|
|
658
|
+
if (i <= 0)
|
|
659
|
+
{
|
|
660
|
+
strResult += `[${time}] ${contextName}: (${lid}) ${symbol} ${message0}`;
|
|
661
|
+
}
|
|
662
|
+
else
|
|
663
|
+
{
|
|
664
|
+
// If last line empty, don't display it
|
|
665
|
+
if (i < strs.length - 1)
|
|
666
|
+
{
|
|
667
|
+
strResult += "\n";
|
|
668
|
+
strResult += `[${time}] ${contextName} ${lid} ${message0}`;
|
|
669
|
+
}
|
|
670
|
+
else
|
|
671
|
+
{
|
|
672
|
+
if (message0)
|
|
673
|
+
{
|
|
674
|
+
strResult += "\n";
|
|
675
|
+
strResult += `[${time}] ${contextName} ${lid} ${message0}`;
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
return strResult;
|
|
682
|
+
}
|
|
683
|
+
catch (e)
|
|
636
684
|
{
|
|
637
|
-
|
|
685
|
+
console.rawError(e.message);
|
|
638
686
|
}
|
|
639
687
|
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
return `[${time}] ${contextName}: (${lid}) ${symbol} ${message}`;
|
|
688
|
+
return "";
|
|
643
689
|
}
|
|
644
690
|
|
|
645
691
|
onErrorForUserTarget(context, ...args)
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
var He=Object.defineProperty;var Be=(n,e,t)=>e in n?He(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var h=(n,e,t)=>(Be(n,typeof e!="symbol"?e+"":e,t),t),ne=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var l=(n,e,t)=>(ne(n,e,"read from private field"),t?t.call(n):e.get(n)),m=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},se=(n,e,t,o)=>(ne(n,e,"write to private field"),o?o.call(n,t):e.set(n,t),t);var ie=(n,e,t)=>(ne(n,e,"access private method"),t);var ge={Foreground:38,Background:48},O="\x1B[1D",pe="\x1B[0m"+O,j={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},Ue={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},ae={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Ge(n){return!!ae[n]}var me=(n,e,t)=>n===e&&e===t?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(e/255*5)+Math.round(t/255*5),Le=n=>{let e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;n=n.replace(e,function(o,r,s,i){return r+r+s+s+i+i});let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return t?{red:parseInt(t[1],16),blue:parseInt(t[2],16),green:parseInt(t[3],16)}:{}},Ee=function({red:n,green:e,blue:t}){let o=n<<16|e<<8|t<<0;return"#"+(16777216+o).toString(16).slice(1)},be=function(n){let e=n.matchAll(/\d+/g),t=[];for(let o of e){let r=parseInt(o[0]);if(r>255)return null;t.push(r)}return t.length!==3?null:{red:t[0],green:t[1],blue:t[2]}},Pe=function(n){let e=be(n);return e&&Ee(e)},q=function(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+(t-e)*6*o:o<1/2?t:o<2/3?e+(t-e)*(2/3-o)*6:e},Te=({hue:n,saturation:e,lightness:t})=>{let o,r,s;if(e===0)o=r=s=t;else{let i=t<.5?t*(1+e):t+e-t*e,a=2*t-i;o=q(a,i,n+1/3),r=q(a,i,n),s=q(a,i,n-1/3)}return{red:Math.round(o*255),blue:Math.round(s*255),green:Math.round(r*255)}},ye=n=>{let e=n.toLowerCase();return typeof ae[e]<"u"?ae[e]:""};function S({red:n,blue:e,green:t},o=!0){if(n===void 0||e===void 0||t===void 0)return"";let r=me(n,e,t);return`\x1B[${o?ge.Foreground:ge.Background};5;`+r+"m "+O}function F(n,e=!0){let{red:t,green:o,blue:r}=Le(n);return S({red:t,green:o,blue:r},e)}function
|
|
2
|
-
`,J={airplane:"\u2708",anchor:"\u2693",arrow_backward:"\u25C0",arrow_double_up:"\u23EB",arrow_double_down:"\u23EC",arrow_forward:"\u25B6",arrow_lower_right:"\u2198",arrow_lower_left:"\u2199",arrow_right_hook:"\u21AA",arrow_up_down:"\u2195",arrow_upper_left:"\u2196",arrow_upper_right:"\u2197",ballot_box_with_check:"\u2611",biohazard:"\u2623",black_circle:"\u23FA",black_medium_small_square:"\u25FE",black_medium_square:"\u25FC",black_nib:"\u2712",black_small_square:"\u25AA",black_square:"\u23F9",chains:"\u26D3",check:"\u2714",chess_pawn:"\u265F",cloud_and_rain:"\u26C8",clubs:"\u2663",coffee:"\u2615",copyright:"\xA9",cross:"\u274C",diamonds:"\u2666",divisions_ign:"\u2797",double_triangle_right:"\u23ED",double_triangle_left:"\u23EE",email:"\u2709",eject:"\u23CF",exclamation_mark:"\u2757",fast_forward:"\u23E9",female_sign:"\u2640",fist:"\u270A",fuel_pump:"\u26FD",gear:"\u2699",hammer_and_pick:"\u2692",hand:"\u270B",hearts:"\u2665",infinity:"\u267E",information:"\u2139",left_right_arrow:"\u2194",leftwards_arrow_with_hook:"\u21A9",male_sign:"\u2642",minus_sign:"\u2796",no_entry:"\u26D4",partly_sunny:"\u26C5",pencil:"\u270F",phone:"\u260E",plus_sign:"\u2795",question:"\u2754",radioactive:"\u2622",raised_hand:"\u270B",recycle:"\u267B",registered:"\xAE",relaxed:"\u263A",rewind:"\u23EA",scissors:"\u2702",snowman:"\u2603",spades:"\u2660",sparkles:"\u2728",star:"\u2B50",sunny:"\u2600",tent:"\u26FA",trademark:"\u2122",triangle_with_vertical_bar:"\u23EF",umbrella:"\u2614",vertical_bars:"\u23F8",watch:"\u231A",white_frowning_face:"\u2639",white_medium_square:"\u25FB",white_medium_small_square:"\u25FD",white_small_square:"\u25AB",wheelchair:"\u267F",white_circle:"\u26AA",writing_hand:"\u270D"};function Fe(){return typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node<"u"?k.NODE:k.BROWSER}var Ke=Fe();function Qe(){return Ke===k.NODE}var Ze=["keepLogHistory","getLogHistory","truncateMessage","truncateMessage","rawLog","removeOverride","removeOverrideError","overrideConsole","overrideError","table","rawInfo","rawWarn","rawError","hasSeenLid"],B,A,x,
|
|
3
|
-
`),o=[];for(let r=0;r<t.length;++r){let s=t[r];o.push(s)}return o}catch(t){console.rawError(t.message)}return e.message}onDisplayError(...e){try{let t=-1,o=null;for(let r=0;r<e.length;++r){let s=e[r];if(s instanceof Error&&s.stack){t=r,o=this.assistStask(s)||[];break}}if(!o){this.error(...e);return}for(let r=0;r<o.length;++r)e[t]=o[r],this.error(...e)}catch(t){console.rawError(t)}}setLogFormat(e){if(typeof e!="function")return console.error("Invalid parameter for setFormat. It is expecting a function or method."),!1;this.format=e.bind(this)}resetLogFormatter(){this.format=this.originalFormatFunction}setErrorHandler(e){this.errorTargetHandler=e.bind(this)}setErrorHandlerForUserTarget(e){this.errorUserTargetHandler=e.bind(this)}isContextValid(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null?e.hasOwnProperty("contextName")&&e.hasOwnProperty("target"):!1}setDefaultContext(e){this.setContext(H.DEFAULT.contextName,e)}generateDefaultContext(){let e=l(this,A)[H.DEFAULT.contextName]||{};return e=Object.assign({},{lid:"",contextName:H.DEFAULT.contextName,target:_.ALL,symbol:"\u26A1",color:C[1],logLevel:u.LOG},e),e.name=e.contextName,e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=C[this.indexColor++%(C.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.contextName=H.ERROR.contextName,e.name=e.contextName,e.color=C[0],e.symbol="\u274C",e.error=!0,e.logLevel=u.ERROR,e}setContext(e,t={}){t.contextName=e,t.name=e,t=ie(this,K,Se).call(this,t),l(this,A)[e]=t}getContext(e){return l(this,A)[e]}setContexts(e){Object.keys(e).forEach(o=>{let r=e[o]||{};this.setContext(o,r),e[o]=l(this,A)[o]})}getContexts(){return Object.freeze(l(this,A))}setTargets(e={}){let t={};if(Array.isArray(e))try{for(let o=0;o<e.length;++o){let r=e[o];if(typeof r=="string"||r instanceof String)t[r]=r;else if(typeof r=="object"){let s=null;for(let i in r){let a=r[i];if(i=i.trim(),!i){console.error("Invalid target");break}if(typeof a=="string"||a instanceof String){a=a.trim(),s=[i,a];break}if(typeof a=="number")break}s&&(t[s[0]]=s[1])}}}catch(o){console.error({lid:4321},o.message)}else t=e;se(this,x,Object.assign({},t,{..._}))}addTargets(e){let t=l(this,x),o=Object.assign({},t,e);this.setTargets(o)}getTargets(){return Object.freeze(l(this,x))}setActiveTargets(e=null){if(e===null){this.activeTargets=[_.ALL];return}else if(typeof e=="string"||e instanceof String)e=e.split(",");else if(typeof e=="object"||typeof e=="function")return;for(let t=0;t<e.length;++t)e[t]=e[t].trim();this.activeTargets=e}getActiveTarget(){return this.activeTargets}setActiveTarget(e){this.activeTargets=[],this.setActiveTargets(e),this.activeTargets=[this.activeTargets[0]]}setLogLevel(e,t){l(this,R)[e]=t}getLogLevel(e){return l(this,R)[e]}setLogLevels(e){se(this,R,e)}getLogLevels(){return Object.freeze(l(this,R))}isTargetAllowed(e){return!e||!this.activeTargets||!this.activeTargets.length||e===_.ALL||this.activeTargets.includes(_.ALL)?!0:this.activeTargets.includes(e)}setColumns(e,t,o){let r=0;for(let i in t){if(!["contextName","symbol","lid","text"].includes(i))continue;let a=t[i],f=document.createElement("span");f.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${r}`),++r,f.textContent=a,e.append(f)}let s=document.createElement("span");s.classList.add("analogger-col","analogger-col-text",`analogger-col-${r}`),s.textContent=o,e.append(s);for(let i=1;i<=3;++i)s=document.createElement("span"),s.classList.add("analogger-col","analogger-col-extra",`analogger-extra-${i}`),e.append(s)}checkOnLoggingToDom(e,t){try{let o=e.onLoggingToDom;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}addLineToDom(e,t,{context:o,addType:r,message:s,text:i,args:a}){if(this.checkOnLoggingToDom(o,{message:s,text:i,args:a,logCounter:this.logCounter,$view:e,$line:t,addType:r})===!1)return;if(r===V.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(fe).length)return;this.showRemovedNotification(o);return}this.scrollDivToBottom(e)}showRemovedNotification(e){e.contextName=xe,e.symbol="\u{1F5D1}",e.color="orange",e.className=fe,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(e,"",{addType:V.TOP,message:"Oldest entries removed"})},500)}writeLogToDom(e,t,{addType:o=V.BOTTOM,message:r="",args:s=null}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=r||t;for(let i=0;i<this.$containers.length;++i){let a=this.$containers[i],f=a.querySelector("."+de);f||(f=document.createElement("div"),f.classList.add(de),f.append(document.createElement("span")),f.append(document.createElement("span")),f.append(document.createElement("span")),a.append(f));let p=a.querySelector("."+he);p||(p=document.createElement("div"),p.classList.add(he),a.append(p));let d=a.querySelector("."+ue);d||(d=document.createElement("div"),d.classList.add(ue),d.append(document.createElement("span")),d.append(document.createElement("span")),d.append(document.createElement("span")),a.append(d));let g=document.createElement("div");g.classList.add(Ae),e.className&&g.classList.add(e.className),g.style.color=e.color,this.setColumns(g,e,t,s),setTimeout(function(L,G,{addType:Z,context:ee,message:te,text:oe,args:P}){this.addLineToDom(L,G,{addType:Z,context:ee,message:te,text:oe,args:P})}.bind(this,p,g,{addType:o,context:e,message:r,text:t,args:s}),0)}}writeLogToFile(e){try{fs.appendFileSync(this.options.logToFilePath,e+this.EOL)}catch(t){console.rawError("LOG_TO_FILE_FAILURE: ",t.message)}}writeLogToRemote(...e){try{let t=this.generateLogToRemoteUrl(this.options.logToRemoteUrl);if(!t)return null;let o=[...e],r=JSON.stringify(o);fetch(t,{method:"post",body:r,headers:{"Content-Type":"application/json"}}).then(s=>s.json()).catch(()=>null)}catch(t){console.rawError("LOG_TO_REMOTE_FAILURE: ",t.message)}}uploadDataToRemote(e,t=null,o=null){try{if(!this.options.logToRemote)return;let r=this.generateLogToRemoteUrl(this.options.logToRemoteBinaryUrl,{pathname:E.binarypathname});if(!r)return null;let s=e;t&&(s=JSON.stringify({raw:e,context:t})),fetch(r,{method:"post",body:s}).then(i=>i.json()).then(i=>o&&o(i)).catch(i=>i)}catch(r){console.rawError("BINARY_TO_REMOTE_FAILURE: ",r.message)}}stringifyEntry(e){let t;try{t=JSON.stringify(e)}catch{}if(!t)try{t=Ne(e)}catch{}return t}convertEntry(e){try{if(e==null||e==="")return e;if(typeof e=="boolean")return e;if(typeof e=="symbol"||typeof e=="number")return e;if(typeof e=="string"||myVar instanceof e)return e;if(e instanceof Date)return e}catch{}return this.stringifyEntry(e)}convertArgumentsToText(e){let t=[],o,r=e.length;for(let s=0;s<r;++s){let i,a=e[s];i=this.convertEntry(a),t.push(i)}return o=t.join("\u2022"),o}writeToConsole(e,t){let o=[e];this.isBrowser()&&o.push(`color: ${t.color}`);let r=t.contextLevel||u.LOG;r>=u.ERROR?l(this,v).call(this,...o):r>=u.WARN?l(this,N).call(this,...o):r>=u.INFO?l(this,w).call(this,...o):r>=u.LOG?l(this,b).call(this,...o):r>=u.DEBUG&&l(this,X).call(this,...o)}checkPlugins(e,{message:t,text:o,args:r,logCounter:s}){try{if(!Object.keys(c.pluginTable).length)return;let i=!0;for(let a in e){let f=e[a];if(!f)continue;let p=c.pluginTable[a];if(!p||typeof p!="object")continue;let{callback:d,methodName:g,type:L}=p;if(typeof d!="function")continue;d.call(this,e,{message:t,text:o,args:r,logCounter:s,methodName:g,type:L,pluginOptions:f})===!1&&(i=!1)}return i}catch{}}checkOnLogging(e,t){try{let o=e.onLogging;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}processOutput(e={}){try{let t="";if(this.applySymbolByName(e),!this.isTargetAllowed(e.target)||e.logLevel===u.OFF||this.options.requiredLogLevel>e.logLevel)return;let o=Array.prototype.slice.call(arguments,1);t=this.convertArgumentsToText(o);let r="",s=this.format({...e,message:t});this.keepLog&&this.addToLogHistory({context:e,message:t,text:s}),++this.logCounter;let i;if(i=this.checkOnLogging(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1||(i=this.checkPlugins(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1)||(this.options.logToRemote&&this.writeLogToRemote(e,...o),this.isBrowser()?(e.environnment=c.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,s,{message:t,args:o}),r=`%c${s}`):(e.environnment=c.ENVIRONMENT_TYPE.NODE,r=$.getTextFromColor(s,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(s)),this.options.hideLog))return;this.writeToConsole(r,e),this.errorTargetHandler(e,o)}catch(t){console.rawError("AnaLogger:",t.message)}}isExtendedOptionsPassed(e){return typeof e!="object"?!1:e.hasOwnProperty("context")||e.hasOwnProperty("target")||e.hasOwnProperty("color")||e.hasOwnProperty("contextName")||e.hasOwnProperty("lid")}extractContextFromInput(e){return(typeof e=="string"||e instanceof String)&&e.toLowerCase().indexOf("lid:")!==0,e}listSymbols(){for(let e in J)console.rawLog(J[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&J[e.symbol]&&(e.symbol=J[e.symbol])}catch{}}convertToContext(e,t){e=e||t;let o=e;if(e.context&&typeof e.context=="object"){let r=Object.assign({},e);delete r.context,o=Object.assign({},e.context,r)}return o=Object.assign({},t,o),delete o.context,o}log(e,...t){if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let s=this.generateDefaultContext();this.processOutput.apply(this,[s,e,...t]);return}let o=this.generateDefaultContext(),r=this.convertToContext(e,o);this.processOutput.apply(this,[r,...t])}error(e,...t){if(this.options.hideError)return;if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let i=this.generateErrorContext();this.processOutput.apply(this,[i,e,...t]);return}let o=this.generateErrorContext(),r=this.convertToContext(e,o),s=Array.prototype.slice.call(arguments,1);this.log(r,...s)}overrideError(){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.error"),l(this,y).error=!0,console.error=this.onDisplayError.bind(this)}attachConsole(){try{return console.rawLog=l(this,b),console.raw=l(this,b),console.rawInfo=l(this,w),console.rawWarn=l(this,N),console.rawError=l(this,v),console.logHistory=this.logHistory,console.logHistory=this.logHistory,Ze.forEach(e=>{console[e]=function(...t){this[e](...t)}.bind(this)}),!0}catch(e){console.error({lid:4321},e.message)}return!1}overrideConsole({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.log"),[{log:e},{info:t},{warn:o}].forEach(function(s){let i=Object.keys(s)[0];s[i]&&(l(this,y)[i]=!0,console[i]=this.onDisplayLog.bind(this))}.bind(this)),r&&this.overrideError(),this.attachConsole()}removeOverrideError(){console.error=l(this,v),l(this,y).error=!1}removeOverride({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){e&&(console.log=l(this,b),l(this,y).log=!1),t&&(console.info=l(this,w),l(this,y).info=!1),o&&(console.warn=l(this,N),l(this,y).warn=!1),r&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){if(!l(this,y).log){l(this,U).call(this,...e);return}let t=console.log;console.log=l(this,b),l(this,U).call(this,...e),console.log=t}alert(...e){if(!this.isBrowser())return this.log(...e);let t=e.join(" | ");alert(t)}assert(e,t=!0,...o){let r;try{return typeof e=="function"?(r=e(...o),r!==t?(this.error("Asset failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)):e!==t?(this.error("Assert failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)}catch{this.error("Unexpected error in assert")}return!1}applyAnalogFormatting({activeTarget:e="",override:t=!1}={}){try{let r={STANDARD:null,TEST:{color:"#B18904",symbol:"diamonds"}};return this.setDefaultContext(r.DEFAULT),e&&this.setActiveTarget(e),this.setOptions({silent:!1,hideError:!1,hideHookMessage:!0,lidLenMax:6}),t&&(this.overrideConsole(),this.overrideError()),!0}catch(o){console.error({lid:3249},o.message)}return!1}applyPredefinedFormat(e=z.DEFAULT_FORMAT,{activeTarget:t="",override:o=!1}={}){if(e===z.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:o})}static generateInstance(){return new c}static getInstance(e=0){return c.instanceCount?l(c,B)[e]:null}static generateMainInstance(){let e=c.getInstance();return e||new c}static startLogger(){c.generateMainInstance().applyPredefinedFormat(z.DEFAULT_FORMAT,{override:!0})}static stopLogger(){let e=c.generateMainInstance();e.removeOverride(),e.removeOverrideError()}convertToUrl({protocol:e=E.protocol,host:t=E.host,port:o=E.port,pathname:r=E.pathname}={}){let s=new URL("http://localhost");return s.protocol=e,s.host=t,s.port=o,r&&(s.pathname=r),s.toString()}generateLogToRemoteUrl(e=null,{pathname:t=E.pathname}={}){if(typeof e=="string"||e instanceof String)return e;if(!this.isBrowser())return null;let o=this.options.protocol||window.location.protocol+"//",r=this.options.host||window.location.host||E.host,s=this.options.port||E.port;return t=this.options.pathname||t,this.convertToUrl({protocol:o,host:r,port:s,pathname:t})}addPlugin(e,t,o=""){o=o||e,this[e]=t,c.pluginTable[o]={type:ve.LOCAL,methodName:e,callback:t}}addGlobalPlugin(e,t,o){c[e]=t,c.pluginTable[o]={type:ve.GLOBAL,methodName:e,callback:t}}getPluginList(){return Object.keys(c.pluginTable)}validatePlugin(e){return c.pluginTable[e]?!0:(console.warn(`The plugin ${e} is not registered`),!1)}},T=c;B=new WeakMap,A=new WeakMap,x=new WeakMap,R=new WeakMap,b=new WeakMap,w=new WeakMap,N=new WeakMap,v=new WeakMap,X=new WeakMap,U=new WeakMap,y=new WeakMap,K=new WeakSet,Se=function(e){let t=this.generateNewContext(),o=Object.assign({},t,e);return o.color.toLowerCase().indexOf("rgb")>-1?o.color=$.rgbStringToHex(o.color):o.color.indexOf("#")===-1&&(o.color=$.colorNameToHex(o.color)),o},Q=new WeakSet,Ce=function(){try{this.setTargets(_),this.setLogLevels(u),this.setContexts(H)}catch(e){console.error({lid:4321},e.message)}return!1},m(T,B,[]),h(T,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),h(T,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"}),h(T,"instanceCount",0),h(T,"pluginTable",{});var et=T,dt=et,ht=T.generateMainInstance();var ut=T;export{ut as AnaLogger,H as DEFAULT_LOG_CONTEXTS,u as DEFAULT_LOG_LEVELS,_ as DEFAULT_LOG_TARGETS,ht as anaLogger,dt as default};
|
|
1
|
+
var He=Object.defineProperty;var Be=(n,e,t)=>e in n?He(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var h=(n,e,t)=>(Be(n,typeof e!="symbol"?e+"":e,t),t),ne=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var l=(n,e,t)=>(ne(n,e,"read from private field"),t?t.call(n):e.get(n)),m=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},se=(n,e,t,o)=>(ne(n,e,"write to private field"),o?o.call(n,t):e.set(n,t),t);var ie=(n,e,t)=>(ne(n,e,"access private method"),t);var ge={Foreground:38,Background:48},O="\x1B[1D",pe="\x1B[0m"+O,j={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},Ue={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},ae={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Ge(n){return!!ae[n]}var me=(n,e,t)=>n===e&&e===t?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(e/255*5)+Math.round(t/255*5),Le=n=>{let e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;n=n.replace(e,function(o,r,s,i){return r+r+s+s+i+i});let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return t?{red:parseInt(t[1],16),blue:parseInt(t[2],16),green:parseInt(t[3],16)}:{}},Ee=function({red:n,green:e,blue:t}){let o=n<<16|e<<8|t<<0;return"#"+(16777216+o).toString(16).slice(1)},be=function(n){let e=n.matchAll(/\d+/g),t=[];for(let o of e){let r=parseInt(o[0]);if(r>255)return null;t.push(r)}return t.length!==3?null:{red:t[0],green:t[1],blue:t[2]}},Pe=function(n){let e=be(n);return e&&Ee(e)},q=function(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+(t-e)*6*o:o<1/2?t:o<2/3?e+(t-e)*(2/3-o)*6:e},Te=({hue:n,saturation:e,lightness:t})=>{let o,r,s;if(e===0)o=r=s=t;else{let i=t<.5?t*(1+e):t+e-t*e,a=2*t-i;o=q(a,i,n+1/3),r=q(a,i,n),s=q(a,i,n-1/3)}return{red:Math.round(o*255),blue:Math.round(s*255),green:Math.round(r*255)}},ye=n=>{let e=n.toLowerCase();return typeof ae[e]<"u"?ae[e]:""};function S({red:n,blue:e,green:t},o=!0){if(n===void 0||e===void 0||t===void 0)return"";let r=me(n,e,t);return`\x1B[${o?ge.Foreground:ge.Background};5;`+r+"m "+O}function F(n,e=!0){let{red:t,green:o,blue:r}=Le(n);return S({red:t,green:o,blue:r},e)}function $({hue:n,saturation:e,lightness:t},o){let{red:r,green:s,blue:i}=Te({hue:n,saturation:e,lightness:t});return S({red:r,green:s,blue:i},o)}function le(n,e=!0){try{let t;return n=n||"",n?((typeof n=="string"||n instanceof String)&&(n=n.trim()),Ge(n)?(t=ye(n),F(t,e)):typeof n=="object"&&!!n.red&&!!n.blue&&!!n.green?S(n,e):typeof n=="object"&&!!n.hue&&!!n.saturation&&!!n.lightness?$(n,e):n.startsWith("#")?F(n,e):(n=n.toString(),/^[\da-fA-F]+$/.test(n)?F("#"+n,e):"")):""}catch(t){console.error("TO_ANSI_INVALID_ARGUMENT_ERROR",t.message)}}function W(n,{fg:e,bg:t,isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){let i=!1,a="";return e&&(i=!0,a=a+e),t&&(i=!0,a=a+t),o&&(i=!0,a=a+j.Underline),r&&(i=!0,a=a+j.Bold),s&&(i=!0,a=a+j.Reversed),i?a+n+pe:n}function je(n,{fg:e={},bg:t={},isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=S({...e})),t&&(t=S({...t},!1)),W(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function qe(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=$({...e})),t&&(t=$({...t},!1)),W(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function $e(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=F(e)),t&&(t=F(t,!1)),W(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function We(n,e=null){if(!e)return n;let{fg:t="",bg:o="",isUnderline:r=!1,isBold:s=!1,isReversed:i=!1}=e;return t&&(t=le(t)),o&&(o=le(o,!1)),W(n,{fg:t,bg:o,isUnderline:r,isBold:s,isReversed:i})}var Y={fromRgb:S,fromHexa:F,fromHsl:$,fromColor:le,getTextFromRgb:je,getTextFromHsl:qe,getTextFromHex:$e,getTextFromColor:We,colorNameToHex:ye,hslToRgb:Te,hexToRgb:Le,rgbToHex:Ee,rgbToAnsi256:me,rgbStringToRgb:be,rgbStringToHex:Pe,hue2rgb:q,RESET:pe,FONT_STYLE:j,STYLE:Ue};var Oe={COLOR_TABLE:["#d2466e","#FFA07A","#FF7F50","#FF6347","#FFE4B5","#ADFF2F","#808000","#40E0D0","#1E90FF","#EE82EE","#708090","#DEB887","#FE642E","#210B61","#088A4B","#5E610B","#FA8258","#088A68","#B40431"],SYSTEM:{BROWSER:"BROWSER",NODE:"NODE"}},C=Oe.COLOR_TABLE,k=Oe.SYSTEM,ce=2e3,fe="analogger-removed-notif",de="analogger-header",he="analogger-view",ue="analogger-footer",Ae="to-esm-line",V={TOP:"TOP",BOTTOM:"BOTTOM"},Re="ANALOGGER",z={DEFAULT_FORMAT:"FORMAT1"};var{parse:nt,stringify:Ye}=JSON,{keys:st}=Object,Ve=String,ze="string";var xe="object",Je=(n,e)=>e;var we=(n,e,t)=>{let o=Ve(e.push(t)-1);return n.set(t,o),o};var ve=(n,e,t)=>{let o=e&&typeof e===xe?(d,p)=>d===""||-1<e.indexOf(d)?p:void 0:e||Je,r=new Map,s=[],i=[],a=+we(r,s,o.call({"":n},"",n)),c=!a;for(;a<s.length;)c=!0,i[a]=Ye(s[a++],u,t);return"["+i.join(",")+"]";function u(d,p){if(c)return c=!c,p;let L=o.call(this,d,p);switch(typeof L){case xe:if(L===null)return L;case ze:return r.get(L)||we(r,s,L)}return L}};var E={moduleName:"analogger",protocol:"http://",host:"localhost",port:12e3,pathname:"analogger",binarypathname:"uploaded",loopback:"localhost",consoleDomId:"#analogger",logFilename:"./analogger.log"},_={ALL:"ALL",USER:"USER"},g={FATAL:5e3,ERROR:4e3,WARN:3e3,INFO:2e3,LOG:1e3,DEBUG:500,ALL:200,OFF:0,INHERIT:-1},Ne={LOCAL:"local",GLOBAL:"global"},H={DEFAULT:{contextName:"DEFAULT",logLevel:g.LOG,symbol:"check"},LOG:{contextName:"LOG",logLevel:g.LOG,symbol:"check"},DEBUG:{contextName:"DEBUG",logLevel:g.DEBUG},INFO:{contextName:"INFO",logLevel:g.INFO,color:"#B18904",symbol:"diamonds"},WARN:{contextName:"WARN",logLevel:g.WARN,color:C[0],symbol:"cross"},ERROR:{contextName:"ERROR",logLevel:g.ERROR},CRITICAL:{contextName:"CRITICAL",logLevel:g.CRITICAL}},Xe=`
|
|
2
|
+
`,J={airplane:"\u2708",anchor:"\u2693",arrow_backward:"\u25C0",arrow_double_up:"\u23EB",arrow_double_down:"\u23EC",arrow_forward:"\u25B6",arrow_lower_right:"\u2198",arrow_lower_left:"\u2199",arrow_right_hook:"\u21AA",arrow_up_down:"\u2195",arrow_upper_left:"\u2196",arrow_upper_right:"\u2197",ballot_box_with_check:"\u2611",biohazard:"\u2623",black_circle:"\u23FA",black_medium_small_square:"\u25FE",black_medium_square:"\u25FC",black_nib:"\u2712",black_small_square:"\u25AA",black_square:"\u23F9",chains:"\u26D3",check:"\u2714",chess_pawn:"\u265F",cloud_and_rain:"\u26C8",clubs:"\u2663",coffee:"\u2615",copyright:"\xA9",cross:"\u274C",diamonds:"\u2666",divisions_ign:"\u2797",double_triangle_right:"\u23ED",double_triangle_left:"\u23EE",email:"\u2709",eject:"\u23CF",exclamation_mark:"\u2757",fast_forward:"\u23E9",female_sign:"\u2640",fist:"\u270A",fuel_pump:"\u26FD",gear:"\u2699",hammer_and_pick:"\u2692",hand:"\u270B",hearts:"\u2665",infinity:"\u267E",information:"\u2139",left_right_arrow:"\u2194",leftwards_arrow_with_hook:"\u21A9",male_sign:"\u2642",minus_sign:"\u2796",no_entry:"\u26D4",partly_sunny:"\u26C5",pencil:"\u270F",phone:"\u260E",plus_sign:"\u2795",question:"\u2754",radioactive:"\u2622",raised_hand:"\u270B",recycle:"\u267B",registered:"\xAE",relaxed:"\u263A",rewind:"\u23EA",scissors:"\u2702",snowman:"\u2603",spades:"\u2660",sparkles:"\u2728",star:"\u2B50",sunny:"\u2600",tent:"\u26FA",trademark:"\u2122",triangle_with_vertical_bar:"\u23EF",umbrella:"\u2614",vertical_bars:"\u23F8",watch:"\u231A",white_frowning_face:"\u2639",white_medium_square:"\u25FB",white_medium_small_square:"\u25FD",white_small_square:"\u25AB",wheelchair:"\u267F",white_circle:"\u26AA",writing_hand:"\u270D"};function Fe(){return typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node<"u"?k.NODE:k.BROWSER}var Ke=Fe();function Qe(){return Ke===k.NODE}var Ze=["keepLogHistory","getLogHistory","truncateMessage","truncateMessage","rawLog","removeOverride","removeOverrideError","overrideConsole","overrideError","table","rawInfo","rawWarn","rawError","hasSeenLid"],B,A,R,x,b,w,v,N,X,U,y,K,Se,Q,Ce,f=class{constructor({name:e="default"}={}){m(this,K);m(this,Q);h(this,"system","");h(this,"instanceId","");h(this,"instanceName","");h(this,"logIndex",0);h(this,"logCounter",0);m(this,A,[]);m(this,R,{});m(this,x,{});h(this,"activeTargets",[]);h(this,"indexColor",0);h(this,"format","");h(this,"keepLog",!1);h(this,"logHistory",[]);h(this,"$containers",null);h(this,"options",{hideHookMessage:!1});m(this,b,console.log);m(this,w,console.info);m(this,v,console.warn);m(this,N,console.error);m(this,X,console.debug);m(this,U,console.table);m(this,y,{log:!1,info:!1,warn:!1,error:!1,debug:!1,table:!1});h(this,"originalFormatFunction");h(this,"removeDomOldEntries",e=>{if(e.childElementCount>ce){let o=Math.ceil(ce/10);for(let r=0;r<o;++r)e.removeChild(e.firstChild);return o}return 0});h(this,"scrollDivToBottom",e=>{let t=e.scrollHeight-(e.clientHeight+e.scrollTop),o=e.clientHeight||e.offsetHeight;t>o/2||(e.scrollTop=e.scrollHeight)});this.system=Fe(),this.format=this.onBuildLog.bind(this),this.originalFormatFunction=this.format,this.instanceName=e,this.instanceId=f.instanceCount+"-"+Date.now(),l(f,B)[f.instanceCount]=this,++f.instanceCount,this.errorTargetHandler=this.onError.bind(this),this.errorUserTargetHandler=this.onErrorForUserTarget.bind(this),this.setOptions(this.options),this.rawLog=l(this,b),this.rawInfo=l(this,w),this.rawWarn=l(this,v),this.rawError=l(this,N),this.ALIGN=f.ALIGN,this.ENVIRONMENT_TYPE=f.ENVIRONMENT_TYPE,ie(this,Q,Ce).call(this),this.resetLogHistory()}getName(){return this.instanceName}getId(){return this.instanceId}keepLogHistory(){this.keepLog=!0}releaseLogHistory(){this.keepLog=!1}resetLogHistory(){this.logHistory=[]}addToLogHistory(e){e=e||{},this.logHistory.push(Object.assign({},e))}getLogHistory(e=!0,t=Xe){let o=this.logHistory||[],r=[];return o.forEach(s=>{let{text:i}=s;r.push(i)}),e?r.join(t):r}getRawLogHistory(){return this.logHistory||[]}hasSeenLid(e){this.logHistory=this.logHistory||[];for(let t=0;t<this.logHistory.length;++t){let r=(this.logHistory[t]||{}).context||{};if(e===r.lid)return!0}return!1}forceEnvironment(e){this.forcedSystem=e}isNode(){return this&&this.forcedSystem?this.forcedSystem===k.NODE:Qe()}isBrowser(){return!this.isNode()}resetLogger(){this.options={},this.options.timeLenMax=10,this.options.contextLenMax=10,this.options.idLenMax=5,this.options.lidLenMax=6,this.options.messageLenMax=void 0,this.options.symbolLenMax=60,this.options.hideHookMessage=void 0,this.options.hidePassingTests=void 0,this.options.hideLog=void 0,this.options.hideError=void 0,this.options.oneConsolePerContext=!0,this.options.logToDom=void 0,this.options.logToFile=void 0,this.options.logToRemote=void 0,this.options.logToRemoteUrl=void 0,this.options.logToRemoteBinaryUrl=void 0,this.options.logToDomlogToFile=void 0,this.options.protocol=void 0,this.options.host=void 0,this.options.port=void 0,this.options.pathname=void 0,this.options.binarypathname=void 0}resetOptions(){this.resetLogger()}setOptions({contextLenMax:e=10,idLenMax:t=5,lidLenMax:o=6,symbolLenMax:r=2,messageLenMax:s=void 0,hideLog:i=void 0,hideError:a=void 0,hideHookMessage:c=void 0,hidePassingTests:u=void 0,logToDom:d=void 0,logToFile:p=void 0,logToRemote:L=void 0,logToRemoteUrl:G=void 0,logToRemoteBinaryUrl:Z=void 0,loopback:ee=E.loopback,requiredLogLevel:te=g.LOG,oneConsolePerContext:oe=void 0,silent:P=void 0,protocol:_e=void 0,host:De=void 0,port:Me=void 0,pathname:Ie=void 0,binarypathname:ke=void 0}=null){this.options.contextLenMax=e,this.options.idLenMax=t,this.options.lidLenMax=o,this.options.messageLenMax=s,this.options.symbolLenMax=r,this.options.requiredLogLevel=te;let re;P!==void 0?re=!!P:i!==void 0&&(re=!!i),[{hideLog:re},{oneConsolePerContext:oe},{hideError:a},{hideHookMessage:c},{hidePassingTests:u},{logToRemote:L}].forEach(D=>{let M=Object.keys(D)[0],I=D[M];I!==void 0&&(this.options[M]=!!I)}),[{logToRemoteBinaryUrl:Z},{logToRemoteUrl:G},{loopback:ee},{protocol:_e},{host:De},{port:Me},{pathname:Ie},{binarypathname:ke}].forEach(D=>{let M=Object.keys(D)[0],I=D[M];I!==void 0&&(this.options[M]=I)}),this.options.logToRemote&&!this.options.logToRemoteUrl&&(this.options.logToRemoteUrl=this.convertToUrl({protocol:this.options.protocol,host:this.options.host,port:this.options.port,pathname:this.options.pathname})),this.options.logToRemote&&!this.options.logToRemoteBinaryUrl&&(this.options.logToRemoteBinaryUrl=this.convertToUrl({protocol:this.options.protocol,host:this.options.host,port:this.options.port,pathname:this.options.binarypathname||E.binarypathname})),d===!1?this.options.logToDom=!1:d!==void 0&&(this.options.logToDom=d===!0?E.consoleDomId:d),p===!1?this.options.logToFile=!1:p!==void 0&&(this.isBrowser()||(this.options.logToFile=p||E.logFilename),l(this,b).call(this,"LogToFile is not supported in this environment. "))}getOptions(){return this.options}truncateMessage(e="",{fit:t=0,align:o=f.ALIGN.LEFT,ellipsis:r="..."}={}){return e=""+e,t&&e.length>t&&(e=e.substring(0,t-r.length)+r),e=o===f.ALIGN.LEFT?e.padEnd(t," "):e.padStart(t," "),e}onBuildLog({contextName:e,message:t="",lid:o="",symbol:r=""}={}){try{let s="",i=t.split(/\n/g);for(let a=0;a<i.length;++a){let c=i[a],u=new Date,d=("0"+u.getHours()).slice(-2)+":"+("0"+u.getMinutes()).slice(-2)+":"+("0"+u.getSeconds()).slice(-2);d=this.truncateMessage(d,{fit:this.options.timeLenMax}),a>0&&(e="",o=""),e=this.truncateMessage(e,{fit:this.options.contextLenMax,align:f.ALIGN.RIGHT}),o=this.truncateMessage(o,{fit:this.options.lidLenMax}),this.options.messageLenMax!==void 0&&(c=this.truncateMessage(c,{fit:this.options.messageLenMax})),r=this.truncateMessage(r,{fit:this.options.symbolLenMax}),a<=0?s+=`[${d}] ${e}: (${o}) ${r} ${c}`:a<i.length-1?(s+=`
|
|
3
|
+
`,s+=`[${d}] ${e} ${o} ${c}`):c&&(s+=`
|
|
4
|
+
`,s+=`[${d}] ${e} ${o} ${c}`)}return s}catch(s){console.rawError(s.message)}return""}onErrorForUserTarget(e,...t){this.errorUserTargetHandler(e,...t)}onError(e,...t){e.target===l(this,R).USER&&this.onErrorForUserTarget(e,...t)}onDisplayLog(...e){this.log(...e)}assistStask(e){try{let t=e.stack.split(`
|
|
5
|
+
`),o=[];for(let r=0;r<t.length;++r){let s=t[r];o.push(s)}return o}catch(t){console.rawError(t.message)}return e.message}onDisplayError(...e){try{let t=-1,o=null;for(let r=0;r<e.length;++r){let s=e[r];if(s instanceof Error&&s.stack){t=r,o=this.assistStask(s)||[];break}}if(!o){this.error(...e);return}for(let r=0;r<o.length;++r)e[t]=o[r],this.error(...e)}catch(t){console.rawError(t)}}setLogFormat(e){if(typeof e!="function")return console.error("Invalid parameter for setFormat. It is expecting a function or method."),!1;this.format=e.bind(this)}resetLogFormatter(){this.format=this.originalFormatFunction}setErrorHandler(e){this.errorTargetHandler=e.bind(this)}setErrorHandlerForUserTarget(e){this.errorUserTargetHandler=e.bind(this)}isContextValid(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null?e.hasOwnProperty("contextName")&&e.hasOwnProperty("target"):!1}setDefaultContext(e){this.setContext(H.DEFAULT.contextName,e)}generateDefaultContext(){let e=l(this,A)[H.DEFAULT.contextName]||{};return e=Object.assign({},{lid:"",contextName:H.DEFAULT.contextName,target:_.ALL,symbol:"\u26A1",color:C[1],logLevel:g.LOG},e),e.name=e.contextName,e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=C[this.indexColor++%(C.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.contextName=H.ERROR.contextName,e.name=e.contextName,e.color=C[0],e.symbol="\u274C",e.error=!0,e.logLevel=g.ERROR,e}setContext(e,t={}){t.contextName=e,t.name=e,t=ie(this,K,Se).call(this,t),l(this,A)[e]=t}getContext(e){return l(this,A)[e]}setContexts(e){Object.keys(e).forEach(o=>{let r=e[o]||{};this.setContext(o,r),e[o]=l(this,A)[o]})}getContexts(){return Object.freeze(l(this,A))}setTargets(e={}){let t={};if(Array.isArray(e))try{for(let o=0;o<e.length;++o){let r=e[o];if(typeof r=="string"||r instanceof String)t[r]=r;else if(typeof r=="object"){let s=null;for(let i in r){let a=r[i];if(i=i.trim(),!i){console.error("Invalid target");break}if(typeof a=="string"||a instanceof String){a=a.trim(),s=[i,a];break}if(typeof a=="number")break}s&&(t[s[0]]=s[1])}}}catch(o){console.error({lid:4321},o.message)}else t=e;se(this,R,Object.assign({},t,{..._}))}addTargets(e){let t=l(this,R),o=Object.assign({},t,e);this.setTargets(o)}getTargets(){return Object.freeze(l(this,R))}setActiveTargets(e=null){if(e===null){this.activeTargets=[_.ALL];return}else if(typeof e=="string"||e instanceof String)e=e.split(",");else if(typeof e=="object"||typeof e=="function")return;for(let t=0;t<e.length;++t)e[t]=e[t].trim();this.activeTargets=e}getActiveTarget(){return this.activeTargets}setActiveTarget(e){this.activeTargets=[],this.setActiveTargets(e),this.activeTargets=[this.activeTargets[0]]}setLogLevel(e,t){l(this,x)[e]=t}getLogLevel(e){return l(this,x)[e]}setLogLevels(e){se(this,x,e)}getLogLevels(){return Object.freeze(l(this,x))}isTargetAllowed(e){return!e||!this.activeTargets||!this.activeTargets.length||e===_.ALL||this.activeTargets.includes(_.ALL)?!0:this.activeTargets.includes(e)}setColumns(e,t,o){let r=0;for(let i in t){if(!["contextName","symbol","lid","text"].includes(i))continue;let a=t[i],c=document.createElement("span");c.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${r}`),++r,c.textContent=a,e.append(c)}let s=document.createElement("span");s.classList.add("analogger-col","analogger-col-text",`analogger-col-${r}`),s.textContent=o,e.append(s);for(let i=1;i<=3;++i)s=document.createElement("span"),s.classList.add("analogger-col","analogger-col-extra",`analogger-extra-${i}`),e.append(s)}checkOnLoggingToDom(e,t){try{let o=e.onLoggingToDom;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}addLineToDom(e,t,{context:o,addType:r,message:s,text:i,args:a}){if(this.checkOnLoggingToDom(o,{message:s,text:i,args:a,logCounter:this.logCounter,$view:e,$line:t,addType:r})===!1)return;if(r===V.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(fe).length)return;this.showRemovedNotification(o);return}this.scrollDivToBottom(e)}showRemovedNotification(e){e.contextName=Re,e.symbol="\u{1F5D1}",e.color="orange",e.className=fe,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(e,"",{addType:V.TOP,message:"Oldest entries removed"})},500)}writeLogToDom(e,t,{addType:o=V.BOTTOM,message:r="",args:s=null}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=r||t;for(let i=0;i<this.$containers.length;++i){let a=this.$containers[i],c=a.querySelector("."+de);c||(c=document.createElement("div"),c.classList.add(de),c.append(document.createElement("span")),c.append(document.createElement("span")),c.append(document.createElement("span")),a.append(c));let u=a.querySelector("."+he);u||(u=document.createElement("div"),u.classList.add(he),a.append(u));let d=a.querySelector("."+ue);d||(d=document.createElement("div"),d.classList.add(ue),d.append(document.createElement("span")),d.append(document.createElement("span")),d.append(document.createElement("span")),a.append(d));let p=document.createElement("div");p.classList.add(Ae),e.className&&p.classList.add(e.className),p.style.color=e.color,this.setColumns(p,e,t,s),setTimeout(function(L,G,{addType:Z,context:ee,message:te,text:oe,args:P}){this.addLineToDom(L,G,{addType:Z,context:ee,message:te,text:oe,args:P})}.bind(this,u,p,{addType:o,context:e,message:r,text:t,args:s}),0)}}writeLogToFile(e){try{fs.appendFileSync(this.options.logToFilePath,e+this.EOL)}catch(t){console.rawError("LOG_TO_FILE_FAILURE: ",t.message)}}writeLogToRemote(...e){try{let t=this.generateLogToRemoteUrl(this.options.logToRemoteUrl);if(!t)return null;let o=[...e],r=JSON.stringify(o);fetch(t,{method:"post",body:r,headers:{"Content-Type":"application/json"}}).then(s=>s.json()).catch(()=>null)}catch(t){console.rawError("LOG_TO_REMOTE_FAILURE: ",t.message)}}uploadDataToRemote(e,t=null,o=null){try{if(!this.options.logToRemote)return;let r=this.generateLogToRemoteUrl(this.options.logToRemoteBinaryUrl,{pathname:E.binarypathname});if(!r)return null;let s=e;t&&(s=JSON.stringify({raw:e,context:t})),fetch(r,{method:"post",body:s}).then(i=>i.json()).then(i=>o&&o(i)).catch(i=>i)}catch(r){console.rawError("BINARY_TO_REMOTE_FAILURE: ",r.message)}}stringifyEntry(e){let t;try{t=JSON.stringify(e)}catch{}if(!t)try{t=ve(e)}catch{}return t}convertEntry(e){try{if(e==null||e==="")return e;if(typeof e=="boolean")return e;if(typeof e=="symbol"||typeof e=="number")return e;if(typeof e=="string"||myVar instanceof e)return e;if(e instanceof Date)return e}catch{}return this.stringifyEntry(e)}convertArgumentsToText(e){let t=[],o,r=e.length;for(let s=0;s<r;++s){let i,a=e[s];i=this.convertEntry(a),t.push(i)}return o=t.join("\u2022"),o}writeToConsole(e,t){let o=[e];this.isBrowser()&&o.push(`color: ${t.color}`);let r=t.contextLevel||g.LOG;r>=g.ERROR?l(this,N).call(this,...o):r>=g.WARN?l(this,v).call(this,...o):r>=g.INFO?l(this,w).call(this,...o):r>=g.LOG?l(this,b).call(this,...o):r>=g.DEBUG&&l(this,X).call(this,...o)}checkPlugins(e,{message:t,text:o,args:r,logCounter:s}){try{if(!Object.keys(f.pluginTable).length)return;let i=!0;for(let a in e){let c=e[a];if(!c)continue;let u=f.pluginTable[a];if(!u||typeof u!="object")continue;let{callback:d,methodName:p,type:L}=u;if(typeof d!="function")continue;d.call(this,e,{message:t,text:o,args:r,logCounter:s,methodName:p,type:L,pluginOptions:c})===!1&&(i=!1)}return i}catch{}}checkOnLogging(e,t){try{let o=e.onLogging;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}processOutput(e={}){try{let t="";if(this.applySymbolByName(e),!this.isTargetAllowed(e.target)||e.logLevel===g.OFF||this.options.requiredLogLevel>e.logLevel)return;let o=Array.prototype.slice.call(arguments,1);t=this.convertArgumentsToText(o);let r="",s=this.format({...e,message:t});this.keepLog&&this.addToLogHistory({context:e,message:t,text:s}),++this.logCounter;let i;if(i=this.checkOnLogging(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1||(i=this.checkPlugins(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1)||(this.options.logToRemote&&this.writeLogToRemote(e,...o),this.isBrowser()?(e.environnment=f.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,s,{message:t,args:o}),r=`%c${s}`):(e.environnment=f.ENVIRONMENT_TYPE.NODE,r=Y.getTextFromColor(s,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(s)),this.options.hideLog))return;this.writeToConsole(r,e),this.errorTargetHandler(e,o)}catch(t){console.rawError("AnaLogger:",t.message)}}isExtendedOptionsPassed(e){return typeof e!="object"?!1:e.hasOwnProperty("context")||e.hasOwnProperty("target")||e.hasOwnProperty("color")||e.hasOwnProperty("contextName")||e.hasOwnProperty("lid")}extractContextFromInput(e){return(typeof e=="string"||e instanceof String)&&e.toLowerCase().indexOf("lid:")!==0,e}listSymbols(){for(let e in J)console.rawLog(J[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&J[e.symbol]&&(e.symbol=J[e.symbol])}catch{}}convertToContext(e,t){e=e||t;let o=e;if(e.context&&typeof e.context=="object"){let r=Object.assign({},e);delete r.context,o=Object.assign({},e.context,r)}return o=Object.assign({},t,o),delete o.context,o}log(e,...t){if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let s=this.generateDefaultContext();this.processOutput.apply(this,[s,e,...t]);return}let o=this.generateDefaultContext(),r=this.convertToContext(e,o);this.processOutput.apply(this,[r,...t])}error(e,...t){if(this.options.hideError)return;if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let i=this.generateErrorContext();this.processOutput.apply(this,[i,e,...t]);return}let o=this.generateErrorContext(),r=this.convertToContext(e,o),s=Array.prototype.slice.call(arguments,1);this.log(r,...s)}overrideError(){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.error"),l(this,y).error=!0,console.error=this.onDisplayError.bind(this)}attachConsole(){try{return console.rawLog=l(this,b),console.raw=l(this,b),console.rawInfo=l(this,w),console.rawWarn=l(this,v),console.rawError=l(this,N),console.logHistory=this.logHistory,console.logHistory=this.logHistory,Ze.forEach(e=>{console[e]=function(...t){this[e](...t)}.bind(this)}),!0}catch(e){console.error({lid:4321},e.message)}return!1}overrideConsole({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.log"),[{log:e},{info:t},{warn:o}].forEach(function(s){let i=Object.keys(s)[0];s[i]&&(l(this,y)[i]=!0,console[i]=this.onDisplayLog.bind(this))}.bind(this)),r&&this.overrideError(),this.attachConsole()}removeOverrideError(){console.error=l(this,N),l(this,y).error=!1}removeOverride({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){e&&(console.log=l(this,b),l(this,y).log=!1),t&&(console.info=l(this,w),l(this,y).info=!1),o&&(console.warn=l(this,v),l(this,y).warn=!1),r&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){if(!l(this,y).log){l(this,U).call(this,...e);return}let t=console.log;console.log=l(this,b),l(this,U).call(this,...e),console.log=t}alert(...e){if(!this.isBrowser())return this.log(...e);let t=e.join(" | ");alert(t)}assert(e,t=!0,...o){let r;try{return typeof e=="function"?(r=e(...o),r!==t?(this.error("Asset failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)):e!==t?(this.error("Assert failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)}catch{this.error("Unexpected error in assert")}return!1}applyAnalogFormatting({activeTarget:e="",override:t=!1}={}){try{let r={STANDARD:null,TEST:{color:"#B18904",symbol:"diamonds"}};return this.setDefaultContext(r.DEFAULT),e&&this.setActiveTarget(e),this.setOptions({silent:!1,hideError:!1,hideHookMessage:!0,lidLenMax:6}),t&&(this.overrideConsole(),this.overrideError()),!0}catch(o){console.error({lid:3249},o.message)}return!1}applyPredefinedFormat(e=z.DEFAULT_FORMAT,{activeTarget:t="",override:o=!1}={}){if(e===z.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:o})}static generateInstance(){return new f}static getInstance(e=0){return f.instanceCount?l(f,B)[e]:null}static generateMainInstance(){let e=f.getInstance();return e||new f}static startLogger(){f.generateMainInstance().applyPredefinedFormat(z.DEFAULT_FORMAT,{override:!0})}static stopLogger(){let e=f.generateMainInstance();e.removeOverride(),e.removeOverrideError()}convertToUrl({protocol:e=E.protocol,host:t=E.host,port:o=E.port,pathname:r=E.pathname}={}){let s=new URL("http://localhost");return s.protocol=e,s.host=t,s.port=o,r&&(s.pathname=r),s.toString()}generateLogToRemoteUrl(e=null,{pathname:t=E.pathname}={}){if(typeof e=="string"||e instanceof String)return e;if(!this.isBrowser())return null;let o=this.options.protocol||window.location.protocol+"//",r=this.options.host||window.location.host||E.host,s=this.options.port||E.port;return t=this.options.pathname||t,this.convertToUrl({protocol:o,host:r,port:s,pathname:t})}addPlugin(e,t,o=""){o=o||e,this[e]=t,f.pluginTable[o]={type:Ne.LOCAL,methodName:e,callback:t}}addGlobalPlugin(e,t,o){f[e]=t,f.pluginTable[o]={type:Ne.GLOBAL,methodName:e,callback:t}}getPluginList(){return Object.keys(f.pluginTable)}validatePlugin(e){return f.pluginTable[e]?!0:(console.warn(`The plugin ${e} is not registered`),!1)}},T=f;B=new WeakMap,A=new WeakMap,R=new WeakMap,x=new WeakMap,b=new WeakMap,w=new WeakMap,v=new WeakMap,N=new WeakMap,X=new WeakMap,U=new WeakMap,y=new WeakMap,K=new WeakSet,Se=function(e){let t=this.generateNewContext(),o=Object.assign({},t,e);return o.color.toLowerCase().indexOf("rgb")>-1?o.color=Y.rgbStringToHex(o.color):o.color.indexOf("#")===-1&&(o.color=Y.colorNameToHex(o.color)),o},Q=new WeakSet,Ce=function(){try{this.setTargets(_),this.setLogLevels(g),this.setContexts(H)}catch(e){console.error({lid:4321},e.message)}return!1},m(T,B,[]),h(T,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),h(T,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"}),h(T,"instanceCount",0),h(T,"pluginTable",{});var et=T,dt=et,ht=T.generateMainInstance();var ut=T;export{ut as AnaLogger,H as DEFAULT_LOG_CONTEXTS,g as DEFAULT_LOG_LEVELS,_ as DEFAULT_LOG_TARGETS,ht as anaLogger,dt as default};
|
|
4
6
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
var He=Object.defineProperty;var Be=(n,e,t)=>e in n?He(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var h=(n,e,t)=>(Be(n,typeof e!="symbol"?e+"":e,t),t),ne=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var l=(n,e,t)=>(ne(n,e,"read from private field"),t?t.call(n):e.get(n)),m=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},se=(n,e,t,o)=>(ne(n,e,"write to private field"),o?o.call(n,t):e.set(n,t),t);var ie=(n,e,t)=>(ne(n,e,"access private method"),t);var ge={Foreground:38,Background:48},O="\x1B[1D",pe="\x1B[0m"+O,j={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},Ue={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},ae={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Ge(n){return!!ae[n]}var me=(n,e,t)=>n===e&&e===t?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(e/255*5)+Math.round(t/255*5),Le=n=>{let e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;n=n.replace(e,function(o,r,s,i){return r+r+s+s+i+i});let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return t?{red:parseInt(t[1],16),blue:parseInt(t[2],16),green:parseInt(t[3],16)}:{}},Ee=function({red:n,green:e,blue:t}){let o=n<<16|e<<8|t<<0;return"#"+(16777216+o).toString(16).slice(1)},be=function(n){let e=n.matchAll(/\d+/g),t=[];for(let o of e){let r=parseInt(o[0]);if(r>255)return null;t.push(r)}return t.length!==3?null:{red:t[0],green:t[1],blue:t[2]}},Pe=function(n){let e=be(n);return e&&Ee(e)},q=function(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+(t-e)*6*o:o<1/2?t:o<2/3?e+(t-e)*(2/3-o)*6:e},Te=({hue:n,saturation:e,lightness:t})=>{let o,r,s;if(e===0)o=r=s=t;else{let i=t<.5?t*(1+e):t+e-t*e,a=2*t-i;o=q(a,i,n+1/3),r=q(a,i,n),s=q(a,i,n-1/3)}return{red:Math.round(o*255),blue:Math.round(s*255),green:Math.round(r*255)}},ye=n=>{let e=n.toLowerCase();return typeof ae[e]<"u"?ae[e]:""};function S({red:n,blue:e,green:t},o=!0){if(n===void 0||e===void 0||t===void 0)return"";let r=me(n,e,t);return`\x1B[${o?ge.Foreground:ge.Background};5;`+r+"m "+O}function F(n,e=!0){let{red:t,green:o,blue:r}=Le(n);return S({red:t,green:o,blue:r},e)}function
|
|
2
|
-
`,J={airplane:"\u2708",anchor:"\u2693",arrow_backward:"\u25C0",arrow_double_up:"\u23EB",arrow_double_down:"\u23EC",arrow_forward:"\u25B6",arrow_lower_right:"\u2198",arrow_lower_left:"\u2199",arrow_right_hook:"\u21AA",arrow_up_down:"\u2195",arrow_upper_left:"\u2196",arrow_upper_right:"\u2197",ballot_box_with_check:"\u2611",biohazard:"\u2623",black_circle:"\u23FA",black_medium_small_square:"\u25FE",black_medium_square:"\u25FC",black_nib:"\u2712",black_small_square:"\u25AA",black_square:"\u23F9",chains:"\u26D3",check:"\u2714",chess_pawn:"\u265F",cloud_and_rain:"\u26C8",clubs:"\u2663",coffee:"\u2615",copyright:"\xA9",cross:"\u274C",diamonds:"\u2666",divisions_ign:"\u2797",double_triangle_right:"\u23ED",double_triangle_left:"\u23EE",email:"\u2709",eject:"\u23CF",exclamation_mark:"\u2757",fast_forward:"\u23E9",female_sign:"\u2640",fist:"\u270A",fuel_pump:"\u26FD",gear:"\u2699",hammer_and_pick:"\u2692",hand:"\u270B",hearts:"\u2665",infinity:"\u267E",information:"\u2139",left_right_arrow:"\u2194",leftwards_arrow_with_hook:"\u21A9",male_sign:"\u2642",minus_sign:"\u2796",no_entry:"\u26D4",partly_sunny:"\u26C5",pencil:"\u270F",phone:"\u260E",plus_sign:"\u2795",question:"\u2754",radioactive:"\u2622",raised_hand:"\u270B",recycle:"\u267B",registered:"\xAE",relaxed:"\u263A",rewind:"\u23EA",scissors:"\u2702",snowman:"\u2603",spades:"\u2660",sparkles:"\u2728",star:"\u2B50",sunny:"\u2600",tent:"\u26FA",trademark:"\u2122",triangle_with_vertical_bar:"\u23EF",umbrella:"\u2614",vertical_bars:"\u23F8",watch:"\u231A",white_frowning_face:"\u2639",white_medium_square:"\u25FB",white_medium_small_square:"\u25FD",white_small_square:"\u25AB",wheelchair:"\u267F",white_circle:"\u26AA",writing_hand:"\u270D"};function Fe(){return typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node<"u"?k.NODE:k.BROWSER}var Ke=Fe();function Qe(){return Ke===k.NODE}var Ze=["keepLogHistory","getLogHistory","truncateMessage","truncateMessage","rawLog","removeOverride","removeOverrideError","overrideConsole","overrideError","table","rawInfo","rawWarn","rawError","hasSeenLid"],B,A,x,
|
|
3
|
-
`),o=[];for(let r=0;r<t.length;++r){let s=t[r];o.push(s)}return o}catch(t){console.rawError(t.message)}return e.message}onDisplayError(...e){try{let t=-1,o=null;for(let r=0;r<e.length;++r){let s=e[r];if(s instanceof Error&&s.stack){t=r,o=this.assistStask(s)||[];break}}if(!o){this.error(...e);return}for(let r=0;r<o.length;++r)e[t]=o[r],this.error(...e)}catch(t){console.rawError(t)}}setLogFormat(e){if(typeof e!="function")return console.error("Invalid parameter for setFormat. It is expecting a function or method."),!1;this.format=e.bind(this)}resetLogFormatter(){this.format=this.originalFormatFunction}setErrorHandler(e){this.errorTargetHandler=e.bind(this)}setErrorHandlerForUserTarget(e){this.errorUserTargetHandler=e.bind(this)}isContextValid(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null?e.hasOwnProperty("contextName")&&e.hasOwnProperty("target"):!1}setDefaultContext(e){this.setContext(H.DEFAULT.contextName,e)}generateDefaultContext(){let e=l(this,A)[H.DEFAULT.contextName]||{};return e=Object.assign({},{lid:"",contextName:H.DEFAULT.contextName,target:_.ALL,symbol:"\u26A1",color:C[1],logLevel:u.LOG},e),e.name=e.contextName,e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=C[this.indexColor++%(C.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.contextName=H.ERROR.contextName,e.name=e.contextName,e.color=C[0],e.symbol="\u274C",e.error=!0,e.logLevel=u.ERROR,e}setContext(e,t={}){t.contextName=e,t.name=e,t=ie(this,K,Se).call(this,t),l(this,A)[e]=t}getContext(e){return l(this,A)[e]}setContexts(e){Object.keys(e).forEach(o=>{let r=e[o]||{};this.setContext(o,r),e[o]=l(this,A)[o]})}getContexts(){return Object.freeze(l(this,A))}setTargets(e={}){let t={};if(Array.isArray(e))try{for(let o=0;o<e.length;++o){let r=e[o];if(typeof r=="string"||r instanceof String)t[r]=r;else if(typeof r=="object"){let s=null;for(let i in r){let a=r[i];if(i=i.trim(),!i){console.error("Invalid target");break}if(typeof a=="string"||a instanceof String){a=a.trim(),s=[i,a];break}if(typeof a=="number")break}s&&(t[s[0]]=s[1])}}}catch(o){console.error({lid:4321},o.message)}else t=e;se(this,x,Object.assign({},t,{..._}))}addTargets(e){let t=l(this,x),o=Object.assign({},t,e);this.setTargets(o)}getTargets(){return Object.freeze(l(this,x))}setActiveTargets(e=null){if(e===null){this.activeTargets=[_.ALL];return}else if(typeof e=="string"||e instanceof String)e=e.split(",");else if(typeof e=="object"||typeof e=="function")return;for(let t=0;t<e.length;++t)e[t]=e[t].trim();this.activeTargets=e}getActiveTarget(){return this.activeTargets}setActiveTarget(e){this.activeTargets=[],this.setActiveTargets(e),this.activeTargets=[this.activeTargets[0]]}setLogLevel(e,t){l(this,R)[e]=t}getLogLevel(e){return l(this,R)[e]}setLogLevels(e){se(this,R,e)}getLogLevels(){return Object.freeze(l(this,R))}isTargetAllowed(e){return!e||!this.activeTargets||!this.activeTargets.length||e===_.ALL||this.activeTargets.includes(_.ALL)?!0:this.activeTargets.includes(e)}setColumns(e,t,o){let r=0;for(let i in t){if(!["contextName","symbol","lid","text"].includes(i))continue;let a=t[i],f=document.createElement("span");f.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${r}`),++r,f.textContent=a,e.append(f)}let s=document.createElement("span");s.classList.add("analogger-col","analogger-col-text",`analogger-col-${r}`),s.textContent=o,e.append(s);for(let i=1;i<=3;++i)s=document.createElement("span"),s.classList.add("analogger-col","analogger-col-extra",`analogger-extra-${i}`),e.append(s)}checkOnLoggingToDom(e,t){try{let o=e.onLoggingToDom;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}addLineToDom(e,t,{context:o,addType:r,message:s,text:i,args:a}){if(this.checkOnLoggingToDom(o,{message:s,text:i,args:a,logCounter:this.logCounter,$view:e,$line:t,addType:r})===!1)return;if(r===V.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(fe).length)return;this.showRemovedNotification(o);return}this.scrollDivToBottom(e)}showRemovedNotification(e){e.contextName=xe,e.symbol="\u{1F5D1}",e.color="orange",e.className=fe,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(e,"",{addType:V.TOP,message:"Oldest entries removed"})},500)}writeLogToDom(e,t,{addType:o=V.BOTTOM,message:r="",args:s=null}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=r||t;for(let i=0;i<this.$containers.length;++i){let a=this.$containers[i],f=a.querySelector("."+de);f||(f=document.createElement("div"),f.classList.add(de),f.append(document.createElement("span")),f.append(document.createElement("span")),f.append(document.createElement("span")),a.append(f));let p=a.querySelector("."+he);p||(p=document.createElement("div"),p.classList.add(he),a.append(p));let d=a.querySelector("."+ue);d||(d=document.createElement("div"),d.classList.add(ue),d.append(document.createElement("span")),d.append(document.createElement("span")),d.append(document.createElement("span")),a.append(d));let g=document.createElement("div");g.classList.add(Ae),e.className&&g.classList.add(e.className),g.style.color=e.color,this.setColumns(g,e,t,s),setTimeout(function(L,G,{addType:Z,context:ee,message:te,text:oe,args:P}){this.addLineToDom(L,G,{addType:Z,context:ee,message:te,text:oe,args:P})}.bind(this,p,g,{addType:o,context:e,message:r,text:t,args:s}),0)}}writeLogToFile(e){try{fs.appendFileSync(this.options.logToFilePath,e+this.EOL)}catch(t){console.rawError("LOG_TO_FILE_FAILURE: ",t.message)}}writeLogToRemote(...e){try{let t=this.generateLogToRemoteUrl(this.options.logToRemoteUrl);if(!t)return null;let o=[...e],r=JSON.stringify(o);fetch(t,{method:"post",body:r,headers:{"Content-Type":"application/json"}}).then(s=>s.json()).catch(()=>null)}catch(t){console.rawError("LOG_TO_REMOTE_FAILURE: ",t.message)}}uploadDataToRemote(e,t=null,o=null){try{if(!this.options.logToRemote)return;let r=this.generateLogToRemoteUrl(this.options.logToRemoteBinaryUrl,{pathname:E.binarypathname});if(!r)return null;let s=e;t&&(s=JSON.stringify({raw:e,context:t})),fetch(r,{method:"post",body:s}).then(i=>i.json()).then(i=>o&&o(i)).catch(i=>i)}catch(r){console.rawError("BINARY_TO_REMOTE_FAILURE: ",r.message)}}stringifyEntry(e){let t;try{t=JSON.stringify(e)}catch{}if(!t)try{t=Ne(e)}catch{}return t}convertEntry(e){try{if(e==null||e==="")return e;if(typeof e=="boolean")return e;if(typeof e=="symbol"||typeof e=="number")return e;if(typeof e=="string"||myVar instanceof e)return e;if(e instanceof Date)return e}catch{}return this.stringifyEntry(e)}convertArgumentsToText(e){let t=[],o,r=e.length;for(let s=0;s<r;++s){let i,a=e[s];i=this.convertEntry(a),t.push(i)}return o=t.join("\u2022"),o}writeToConsole(e,t){let o=[e];this.isBrowser()&&o.push(`color: ${t.color}`);let r=t.contextLevel||u.LOG;r>=u.ERROR?l(this,v).call(this,...o):r>=u.WARN?l(this,N).call(this,...o):r>=u.INFO?l(this,w).call(this,...o):r>=u.LOG?l(this,b).call(this,...o):r>=u.DEBUG&&l(this,X).call(this,...o)}checkPlugins(e,{message:t,text:o,args:r,logCounter:s}){try{if(!Object.keys(c.pluginTable).length)return;let i=!0;for(let a in e){let f=e[a];if(!f)continue;let p=c.pluginTable[a];if(!p||typeof p!="object")continue;let{callback:d,methodName:g,type:L}=p;if(typeof d!="function")continue;d.call(this,e,{message:t,text:o,args:r,logCounter:s,methodName:g,type:L,pluginOptions:f})===!1&&(i=!1)}return i}catch{}}checkOnLogging(e,t){try{let o=e.onLogging;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}processOutput(e={}){try{let t="";if(this.applySymbolByName(e),!this.isTargetAllowed(e.target)||e.logLevel===u.OFF||this.options.requiredLogLevel>e.logLevel)return;let o=Array.prototype.slice.call(arguments,1);t=this.convertArgumentsToText(o);let r="",s=this.format({...e,message:t});this.keepLog&&this.addToLogHistory({context:e,message:t,text:s}),++this.logCounter;let i;if(i=this.checkOnLogging(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1||(i=this.checkPlugins(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1)||(this.options.logToRemote&&this.writeLogToRemote(e,...o),this.isBrowser()?(e.environnment=c.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,s,{message:t,args:o}),r=`%c${s}`):(e.environnment=c.ENVIRONMENT_TYPE.NODE,r=$.getTextFromColor(s,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(s)),this.options.hideLog))return;this.writeToConsole(r,e),this.errorTargetHandler(e,o)}catch(t){console.rawError("AnaLogger:",t.message)}}isExtendedOptionsPassed(e){return typeof e!="object"?!1:e.hasOwnProperty("context")||e.hasOwnProperty("target")||e.hasOwnProperty("color")||e.hasOwnProperty("contextName")||e.hasOwnProperty("lid")}extractContextFromInput(e){return(typeof e=="string"||e instanceof String)&&e.toLowerCase().indexOf("lid:")!==0,e}listSymbols(){for(let e in J)console.rawLog(J[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&J[e.symbol]&&(e.symbol=J[e.symbol])}catch{}}convertToContext(e,t){e=e||t;let o=e;if(e.context&&typeof e.context=="object"){let r=Object.assign({},e);delete r.context,o=Object.assign({},e.context,r)}return o=Object.assign({},t,o),delete o.context,o}log(e,...t){if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let s=this.generateDefaultContext();this.processOutput.apply(this,[s,e,...t]);return}let o=this.generateDefaultContext(),r=this.convertToContext(e,o);this.processOutput.apply(this,[r,...t])}error(e,...t){if(this.options.hideError)return;if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let i=this.generateErrorContext();this.processOutput.apply(this,[i,e,...t]);return}let o=this.generateErrorContext(),r=this.convertToContext(e,o),s=Array.prototype.slice.call(arguments,1);this.log(r,...s)}overrideError(){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.error"),l(this,y).error=!0,console.error=this.onDisplayError.bind(this)}attachConsole(){try{return console.rawLog=l(this,b),console.raw=l(this,b),console.rawInfo=l(this,w),console.rawWarn=l(this,N),console.rawError=l(this,v),console.logHistory=this.logHistory,console.logHistory=this.logHistory,Ze.forEach(e=>{console[e]=function(...t){this[e](...t)}.bind(this)}),!0}catch(e){console.error({lid:4321},e.message)}return!1}overrideConsole({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.log"),[{log:e},{info:t},{warn:o}].forEach(function(s){let i=Object.keys(s)[0];s[i]&&(l(this,y)[i]=!0,console[i]=this.onDisplayLog.bind(this))}.bind(this)),r&&this.overrideError(),this.attachConsole()}removeOverrideError(){console.error=l(this,v),l(this,y).error=!1}removeOverride({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){e&&(console.log=l(this,b),l(this,y).log=!1),t&&(console.info=l(this,w),l(this,y).info=!1),o&&(console.warn=l(this,N),l(this,y).warn=!1),r&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){if(!l(this,y).log){l(this,U).call(this,...e);return}let t=console.log;console.log=l(this,b),l(this,U).call(this,...e),console.log=t}alert(...e){if(!this.isBrowser())return this.log(...e);let t=e.join(" | ");alert(t)}assert(e,t=!0,...o){let r;try{return typeof e=="function"?(r=e(...o),r!==t?(this.error("Asset failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)):e!==t?(this.error("Assert failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)}catch{this.error("Unexpected error in assert")}return!1}applyAnalogFormatting({activeTarget:e="",override:t=!1}={}){try{let r={STANDARD:null,TEST:{color:"#B18904",symbol:"diamonds"}};return this.setDefaultContext(r.DEFAULT),e&&this.setActiveTarget(e),this.setOptions({silent:!1,hideError:!1,hideHookMessage:!0,lidLenMax:6}),t&&(this.overrideConsole(),this.overrideError()),!0}catch(o){console.error({lid:3249},o.message)}return!1}applyPredefinedFormat(e=z.DEFAULT_FORMAT,{activeTarget:t="",override:o=!1}={}){if(e===z.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:o})}static generateInstance(){return new c}static getInstance(e=0){return c.instanceCount?l(c,B)[e]:null}static generateMainInstance(){let e=c.getInstance();return e||new c}static startLogger(){c.generateMainInstance().applyPredefinedFormat(z.DEFAULT_FORMAT,{override:!0})}static stopLogger(){let e=c.generateMainInstance();e.removeOverride(),e.removeOverrideError()}convertToUrl({protocol:e=E.protocol,host:t=E.host,port:o=E.port,pathname:r=E.pathname}={}){let s=new URL("http://localhost");return s.protocol=e,s.host=t,s.port=o,r&&(s.pathname=r),s.toString()}generateLogToRemoteUrl(e=null,{pathname:t=E.pathname}={}){if(typeof e=="string"||e instanceof String)return e;if(!this.isBrowser())return null;let o=this.options.protocol||window.location.protocol+"//",r=this.options.host||window.location.host||E.host,s=this.options.port||E.port;return t=this.options.pathname||t,this.convertToUrl({protocol:o,host:r,port:s,pathname:t})}addPlugin(e,t,o=""){o=o||e,this[e]=t,c.pluginTable[o]={type:ve.LOCAL,methodName:e,callback:t}}addGlobalPlugin(e,t,o){c[e]=t,c.pluginTable[o]={type:ve.GLOBAL,methodName:e,callback:t}}getPluginList(){return Object.keys(c.pluginTable)}validatePlugin(e){return c.pluginTable[e]?!0:(console.warn(`The plugin ${e} is not registered`),!1)}},T=c;B=new WeakMap,A=new WeakMap,x=new WeakMap,R=new WeakMap,b=new WeakMap,w=new WeakMap,N=new WeakMap,v=new WeakMap,X=new WeakMap,U=new WeakMap,y=new WeakMap,K=new WeakSet,Se=function(e){let t=this.generateNewContext(),o=Object.assign({},t,e);return o.color.toLowerCase().indexOf("rgb")>-1?o.color=$.rgbStringToHex(o.color):o.color.indexOf("#")===-1&&(o.color=$.colorNameToHex(o.color)),o},Q=new WeakSet,Ce=function(){try{this.setTargets(_),this.setLogLevels(u),this.setContexts(H)}catch(e){console.error({lid:4321},e.message)}return!1},m(T,B,[]),h(T,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),h(T,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"}),h(T,"instanceCount",0),h(T,"pluginTable",{});var et=T,dt=et,ht=T.generateMainInstance();var ut=T;export{ut as AnaLogger,H as DEFAULT_LOG_CONTEXTS,u as DEFAULT_LOG_LEVELS,_ as DEFAULT_LOG_TARGETS,ht as anaLogger,dt as default};
|
|
1
|
+
var He=Object.defineProperty;var Be=(n,e,t)=>e in n?He(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var h=(n,e,t)=>(Be(n,typeof e!="symbol"?e+"":e,t),t),ne=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var l=(n,e,t)=>(ne(n,e,"read from private field"),t?t.call(n):e.get(n)),m=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},se=(n,e,t,o)=>(ne(n,e,"write to private field"),o?o.call(n,t):e.set(n,t),t);var ie=(n,e,t)=>(ne(n,e,"access private method"),t);var ge={Foreground:38,Background:48},O="\x1B[1D",pe="\x1B[0m"+O,j={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},Ue={Bold:"\x1B[1m"+O,Underline:"\x1B[4m"+O,Reversed:"\x1B[7m"+O},ae={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function Ge(n){return!!ae[n]}var me=(n,e,t)=>n===e&&e===t?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(e/255*5)+Math.round(t/255*5),Le=n=>{let e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;n=n.replace(e,function(o,r,s,i){return r+r+s+s+i+i});let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return t?{red:parseInt(t[1],16),blue:parseInt(t[2],16),green:parseInt(t[3],16)}:{}},Ee=function({red:n,green:e,blue:t}){let o=n<<16|e<<8|t<<0;return"#"+(16777216+o).toString(16).slice(1)},be=function(n){let e=n.matchAll(/\d+/g),t=[];for(let o of e){let r=parseInt(o[0]);if(r>255)return null;t.push(r)}return t.length!==3?null:{red:t[0],green:t[1],blue:t[2]}},Pe=function(n){let e=be(n);return e&&Ee(e)},q=function(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+(t-e)*6*o:o<1/2?t:o<2/3?e+(t-e)*(2/3-o)*6:e},Te=({hue:n,saturation:e,lightness:t})=>{let o,r,s;if(e===0)o=r=s=t;else{let i=t<.5?t*(1+e):t+e-t*e,a=2*t-i;o=q(a,i,n+1/3),r=q(a,i,n),s=q(a,i,n-1/3)}return{red:Math.round(o*255),blue:Math.round(s*255),green:Math.round(r*255)}},ye=n=>{let e=n.toLowerCase();return typeof ae[e]<"u"?ae[e]:""};function S({red:n,blue:e,green:t},o=!0){if(n===void 0||e===void 0||t===void 0)return"";let r=me(n,e,t);return`\x1B[${o?ge.Foreground:ge.Background};5;`+r+"m "+O}function F(n,e=!0){let{red:t,green:o,blue:r}=Le(n);return S({red:t,green:o,blue:r},e)}function $({hue:n,saturation:e,lightness:t},o){let{red:r,green:s,blue:i}=Te({hue:n,saturation:e,lightness:t});return S({red:r,green:s,blue:i},o)}function le(n,e=!0){try{let t;return n=n||"",n?((typeof n=="string"||n instanceof String)&&(n=n.trim()),Ge(n)?(t=ye(n),F(t,e)):typeof n=="object"&&!!n.red&&!!n.blue&&!!n.green?S(n,e):typeof n=="object"&&!!n.hue&&!!n.saturation&&!!n.lightness?$(n,e):n.startsWith("#")?F(n,e):(n=n.toString(),/^[\da-fA-F]+$/.test(n)?F("#"+n,e):"")):""}catch(t){console.error("TO_ANSI_INVALID_ARGUMENT_ERROR",t.message)}}function W(n,{fg:e,bg:t,isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){let i=!1,a="";return e&&(i=!0,a=a+e),t&&(i=!0,a=a+t),o&&(i=!0,a=a+j.Underline),r&&(i=!0,a=a+j.Bold),s&&(i=!0,a=a+j.Reversed),i?a+n+pe:n}function je(n,{fg:e={},bg:t={},isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=S({...e})),t&&(t=S({...t},!1)),W(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function qe(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=$({...e})),t&&(t=$({...t},!1)),W(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function $e(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=F(e)),t&&(t=F(t,!1)),W(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function We(n,e=null){if(!e)return n;let{fg:t="",bg:o="",isUnderline:r=!1,isBold:s=!1,isReversed:i=!1}=e;return t&&(t=le(t)),o&&(o=le(o,!1)),W(n,{fg:t,bg:o,isUnderline:r,isBold:s,isReversed:i})}var Y={fromRgb:S,fromHexa:F,fromHsl:$,fromColor:le,getTextFromRgb:je,getTextFromHsl:qe,getTextFromHex:$e,getTextFromColor:We,colorNameToHex:ye,hslToRgb:Te,hexToRgb:Le,rgbToHex:Ee,rgbToAnsi256:me,rgbStringToRgb:be,rgbStringToHex:Pe,hue2rgb:q,RESET:pe,FONT_STYLE:j,STYLE:Ue};var Oe={COLOR_TABLE:["#d2466e","#FFA07A","#FF7F50","#FF6347","#FFE4B5","#ADFF2F","#808000","#40E0D0","#1E90FF","#EE82EE","#708090","#DEB887","#FE642E","#210B61","#088A4B","#5E610B","#FA8258","#088A68","#B40431"],SYSTEM:{BROWSER:"BROWSER",NODE:"NODE"}},C=Oe.COLOR_TABLE,k=Oe.SYSTEM,ce=2e3,fe="analogger-removed-notif",de="analogger-header",he="analogger-view",ue="analogger-footer",Ae="to-esm-line",V={TOP:"TOP",BOTTOM:"BOTTOM"},Re="ANALOGGER",z={DEFAULT_FORMAT:"FORMAT1"};var{parse:nt,stringify:Ye}=JSON,{keys:st}=Object,Ve=String,ze="string";var xe="object",Je=(n,e)=>e;var we=(n,e,t)=>{let o=Ve(e.push(t)-1);return n.set(t,o),o};var ve=(n,e,t)=>{let o=e&&typeof e===xe?(d,p)=>d===""||-1<e.indexOf(d)?p:void 0:e||Je,r=new Map,s=[],i=[],a=+we(r,s,o.call({"":n},"",n)),c=!a;for(;a<s.length;)c=!0,i[a]=Ye(s[a++],u,t);return"["+i.join(",")+"]";function u(d,p){if(c)return c=!c,p;let L=o.call(this,d,p);switch(typeof L){case xe:if(L===null)return L;case ze:return r.get(L)||we(r,s,L)}return L}};var E={moduleName:"analogger",protocol:"http://",host:"localhost",port:12e3,pathname:"analogger",binarypathname:"uploaded",loopback:"localhost",consoleDomId:"#analogger",logFilename:"./analogger.log"},_={ALL:"ALL",USER:"USER"},g={FATAL:5e3,ERROR:4e3,WARN:3e3,INFO:2e3,LOG:1e3,DEBUG:500,ALL:200,OFF:0,INHERIT:-1},Ne={LOCAL:"local",GLOBAL:"global"},H={DEFAULT:{contextName:"DEFAULT",logLevel:g.LOG,symbol:"check"},LOG:{contextName:"LOG",logLevel:g.LOG,symbol:"check"},DEBUG:{contextName:"DEBUG",logLevel:g.DEBUG},INFO:{contextName:"INFO",logLevel:g.INFO,color:"#B18904",symbol:"diamonds"},WARN:{contextName:"WARN",logLevel:g.WARN,color:C[0],symbol:"cross"},ERROR:{contextName:"ERROR",logLevel:g.ERROR},CRITICAL:{contextName:"CRITICAL",logLevel:g.CRITICAL}},Xe=`
|
|
2
|
+
`,J={airplane:"\u2708",anchor:"\u2693",arrow_backward:"\u25C0",arrow_double_up:"\u23EB",arrow_double_down:"\u23EC",arrow_forward:"\u25B6",arrow_lower_right:"\u2198",arrow_lower_left:"\u2199",arrow_right_hook:"\u21AA",arrow_up_down:"\u2195",arrow_upper_left:"\u2196",arrow_upper_right:"\u2197",ballot_box_with_check:"\u2611",biohazard:"\u2623",black_circle:"\u23FA",black_medium_small_square:"\u25FE",black_medium_square:"\u25FC",black_nib:"\u2712",black_small_square:"\u25AA",black_square:"\u23F9",chains:"\u26D3",check:"\u2714",chess_pawn:"\u265F",cloud_and_rain:"\u26C8",clubs:"\u2663",coffee:"\u2615",copyright:"\xA9",cross:"\u274C",diamonds:"\u2666",divisions_ign:"\u2797",double_triangle_right:"\u23ED",double_triangle_left:"\u23EE",email:"\u2709",eject:"\u23CF",exclamation_mark:"\u2757",fast_forward:"\u23E9",female_sign:"\u2640",fist:"\u270A",fuel_pump:"\u26FD",gear:"\u2699",hammer_and_pick:"\u2692",hand:"\u270B",hearts:"\u2665",infinity:"\u267E",information:"\u2139",left_right_arrow:"\u2194",leftwards_arrow_with_hook:"\u21A9",male_sign:"\u2642",minus_sign:"\u2796",no_entry:"\u26D4",partly_sunny:"\u26C5",pencil:"\u270F",phone:"\u260E",plus_sign:"\u2795",question:"\u2754",radioactive:"\u2622",raised_hand:"\u270B",recycle:"\u267B",registered:"\xAE",relaxed:"\u263A",rewind:"\u23EA",scissors:"\u2702",snowman:"\u2603",spades:"\u2660",sparkles:"\u2728",star:"\u2B50",sunny:"\u2600",tent:"\u26FA",trademark:"\u2122",triangle_with_vertical_bar:"\u23EF",umbrella:"\u2614",vertical_bars:"\u23F8",watch:"\u231A",white_frowning_face:"\u2639",white_medium_square:"\u25FB",white_medium_small_square:"\u25FD",white_small_square:"\u25AB",wheelchair:"\u267F",white_circle:"\u26AA",writing_hand:"\u270D"};function Fe(){return typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node<"u"?k.NODE:k.BROWSER}var Ke=Fe();function Qe(){return Ke===k.NODE}var Ze=["keepLogHistory","getLogHistory","truncateMessage","truncateMessage","rawLog","removeOverride","removeOverrideError","overrideConsole","overrideError","table","rawInfo","rawWarn","rawError","hasSeenLid"],B,A,R,x,b,w,v,N,X,U,y,K,Se,Q,Ce,f=class{constructor({name:e="default"}={}){m(this,K);m(this,Q);h(this,"system","");h(this,"instanceId","");h(this,"instanceName","");h(this,"logIndex",0);h(this,"logCounter",0);m(this,A,[]);m(this,R,{});m(this,x,{});h(this,"activeTargets",[]);h(this,"indexColor",0);h(this,"format","");h(this,"keepLog",!1);h(this,"logHistory",[]);h(this,"$containers",null);h(this,"options",{hideHookMessage:!1});m(this,b,console.log);m(this,w,console.info);m(this,v,console.warn);m(this,N,console.error);m(this,X,console.debug);m(this,U,console.table);m(this,y,{log:!1,info:!1,warn:!1,error:!1,debug:!1,table:!1});h(this,"originalFormatFunction");h(this,"removeDomOldEntries",e=>{if(e.childElementCount>ce){let o=Math.ceil(ce/10);for(let r=0;r<o;++r)e.removeChild(e.firstChild);return o}return 0});h(this,"scrollDivToBottom",e=>{let t=e.scrollHeight-(e.clientHeight+e.scrollTop),o=e.clientHeight||e.offsetHeight;t>o/2||(e.scrollTop=e.scrollHeight)});this.system=Fe(),this.format=this.onBuildLog.bind(this),this.originalFormatFunction=this.format,this.instanceName=e,this.instanceId=f.instanceCount+"-"+Date.now(),l(f,B)[f.instanceCount]=this,++f.instanceCount,this.errorTargetHandler=this.onError.bind(this),this.errorUserTargetHandler=this.onErrorForUserTarget.bind(this),this.setOptions(this.options),this.rawLog=l(this,b),this.rawInfo=l(this,w),this.rawWarn=l(this,v),this.rawError=l(this,N),this.ALIGN=f.ALIGN,this.ENVIRONMENT_TYPE=f.ENVIRONMENT_TYPE,ie(this,Q,Ce).call(this),this.resetLogHistory()}getName(){return this.instanceName}getId(){return this.instanceId}keepLogHistory(){this.keepLog=!0}releaseLogHistory(){this.keepLog=!1}resetLogHistory(){this.logHistory=[]}addToLogHistory(e){e=e||{},this.logHistory.push(Object.assign({},e))}getLogHistory(e=!0,t=Xe){let o=this.logHistory||[],r=[];return o.forEach(s=>{let{text:i}=s;r.push(i)}),e?r.join(t):r}getRawLogHistory(){return this.logHistory||[]}hasSeenLid(e){this.logHistory=this.logHistory||[];for(let t=0;t<this.logHistory.length;++t){let r=(this.logHistory[t]||{}).context||{};if(e===r.lid)return!0}return!1}forceEnvironment(e){this.forcedSystem=e}isNode(){return this&&this.forcedSystem?this.forcedSystem===k.NODE:Qe()}isBrowser(){return!this.isNode()}resetLogger(){this.options={},this.options.timeLenMax=10,this.options.contextLenMax=10,this.options.idLenMax=5,this.options.lidLenMax=6,this.options.messageLenMax=void 0,this.options.symbolLenMax=60,this.options.hideHookMessage=void 0,this.options.hidePassingTests=void 0,this.options.hideLog=void 0,this.options.hideError=void 0,this.options.oneConsolePerContext=!0,this.options.logToDom=void 0,this.options.logToFile=void 0,this.options.logToRemote=void 0,this.options.logToRemoteUrl=void 0,this.options.logToRemoteBinaryUrl=void 0,this.options.logToDomlogToFile=void 0,this.options.protocol=void 0,this.options.host=void 0,this.options.port=void 0,this.options.pathname=void 0,this.options.binarypathname=void 0}resetOptions(){this.resetLogger()}setOptions({contextLenMax:e=10,idLenMax:t=5,lidLenMax:o=6,symbolLenMax:r=2,messageLenMax:s=void 0,hideLog:i=void 0,hideError:a=void 0,hideHookMessage:c=void 0,hidePassingTests:u=void 0,logToDom:d=void 0,logToFile:p=void 0,logToRemote:L=void 0,logToRemoteUrl:G=void 0,logToRemoteBinaryUrl:Z=void 0,loopback:ee=E.loopback,requiredLogLevel:te=g.LOG,oneConsolePerContext:oe=void 0,silent:P=void 0,protocol:_e=void 0,host:De=void 0,port:Me=void 0,pathname:Ie=void 0,binarypathname:ke=void 0}=null){this.options.contextLenMax=e,this.options.idLenMax=t,this.options.lidLenMax=o,this.options.messageLenMax=s,this.options.symbolLenMax=r,this.options.requiredLogLevel=te;let re;P!==void 0?re=!!P:i!==void 0&&(re=!!i),[{hideLog:re},{oneConsolePerContext:oe},{hideError:a},{hideHookMessage:c},{hidePassingTests:u},{logToRemote:L}].forEach(D=>{let M=Object.keys(D)[0],I=D[M];I!==void 0&&(this.options[M]=!!I)}),[{logToRemoteBinaryUrl:Z},{logToRemoteUrl:G},{loopback:ee},{protocol:_e},{host:De},{port:Me},{pathname:Ie},{binarypathname:ke}].forEach(D=>{let M=Object.keys(D)[0],I=D[M];I!==void 0&&(this.options[M]=I)}),this.options.logToRemote&&!this.options.logToRemoteUrl&&(this.options.logToRemoteUrl=this.convertToUrl({protocol:this.options.protocol,host:this.options.host,port:this.options.port,pathname:this.options.pathname})),this.options.logToRemote&&!this.options.logToRemoteBinaryUrl&&(this.options.logToRemoteBinaryUrl=this.convertToUrl({protocol:this.options.protocol,host:this.options.host,port:this.options.port,pathname:this.options.binarypathname||E.binarypathname})),d===!1?this.options.logToDom=!1:d!==void 0&&(this.options.logToDom=d===!0?E.consoleDomId:d),p===!1?this.options.logToFile=!1:p!==void 0&&(this.isBrowser()||(this.options.logToFile=p||E.logFilename),l(this,b).call(this,"LogToFile is not supported in this environment. "))}getOptions(){return this.options}truncateMessage(e="",{fit:t=0,align:o=f.ALIGN.LEFT,ellipsis:r="..."}={}){return e=""+e,t&&e.length>t&&(e=e.substring(0,t-r.length)+r),e=o===f.ALIGN.LEFT?e.padEnd(t," "):e.padStart(t," "),e}onBuildLog({contextName:e,message:t="",lid:o="",symbol:r=""}={}){try{let s="",i=t.split(/\n/g);for(let a=0;a<i.length;++a){let c=i[a],u=new Date,d=("0"+u.getHours()).slice(-2)+":"+("0"+u.getMinutes()).slice(-2)+":"+("0"+u.getSeconds()).slice(-2);d=this.truncateMessage(d,{fit:this.options.timeLenMax}),a>0&&(e="",o=""),e=this.truncateMessage(e,{fit:this.options.contextLenMax,align:f.ALIGN.RIGHT}),o=this.truncateMessage(o,{fit:this.options.lidLenMax}),this.options.messageLenMax!==void 0&&(c=this.truncateMessage(c,{fit:this.options.messageLenMax})),r=this.truncateMessage(r,{fit:this.options.symbolLenMax}),a<=0?s+=`[${d}] ${e}: (${o}) ${r} ${c}`:a<i.length-1?(s+=`
|
|
3
|
+
`,s+=`[${d}] ${e} ${o} ${c}`):c&&(s+=`
|
|
4
|
+
`,s+=`[${d}] ${e} ${o} ${c}`)}return s}catch(s){console.rawError(s.message)}return""}onErrorForUserTarget(e,...t){this.errorUserTargetHandler(e,...t)}onError(e,...t){e.target===l(this,R).USER&&this.onErrorForUserTarget(e,...t)}onDisplayLog(...e){this.log(...e)}assistStask(e){try{let t=e.stack.split(`
|
|
5
|
+
`),o=[];for(let r=0;r<t.length;++r){let s=t[r];o.push(s)}return o}catch(t){console.rawError(t.message)}return e.message}onDisplayError(...e){try{let t=-1,o=null;for(let r=0;r<e.length;++r){let s=e[r];if(s instanceof Error&&s.stack){t=r,o=this.assistStask(s)||[];break}}if(!o){this.error(...e);return}for(let r=0;r<o.length;++r)e[t]=o[r],this.error(...e)}catch(t){console.rawError(t)}}setLogFormat(e){if(typeof e!="function")return console.error("Invalid parameter for setFormat. It is expecting a function or method."),!1;this.format=e.bind(this)}resetLogFormatter(){this.format=this.originalFormatFunction}setErrorHandler(e){this.errorTargetHandler=e.bind(this)}setErrorHandlerForUserTarget(e){this.errorUserTargetHandler=e.bind(this)}isContextValid(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null?e.hasOwnProperty("contextName")&&e.hasOwnProperty("target"):!1}setDefaultContext(e){this.setContext(H.DEFAULT.contextName,e)}generateDefaultContext(){let e=l(this,A)[H.DEFAULT.contextName]||{};return e=Object.assign({},{lid:"",contextName:H.DEFAULT.contextName,target:_.ALL,symbol:"\u26A1",color:C[1],logLevel:g.LOG},e),e.name=e.contextName,e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=C[this.indexColor++%(C.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.contextName=H.ERROR.contextName,e.name=e.contextName,e.color=C[0],e.symbol="\u274C",e.error=!0,e.logLevel=g.ERROR,e}setContext(e,t={}){t.contextName=e,t.name=e,t=ie(this,K,Se).call(this,t),l(this,A)[e]=t}getContext(e){return l(this,A)[e]}setContexts(e){Object.keys(e).forEach(o=>{let r=e[o]||{};this.setContext(o,r),e[o]=l(this,A)[o]})}getContexts(){return Object.freeze(l(this,A))}setTargets(e={}){let t={};if(Array.isArray(e))try{for(let o=0;o<e.length;++o){let r=e[o];if(typeof r=="string"||r instanceof String)t[r]=r;else if(typeof r=="object"){let s=null;for(let i in r){let a=r[i];if(i=i.trim(),!i){console.error("Invalid target");break}if(typeof a=="string"||a instanceof String){a=a.trim(),s=[i,a];break}if(typeof a=="number")break}s&&(t[s[0]]=s[1])}}}catch(o){console.error({lid:4321},o.message)}else t=e;se(this,R,Object.assign({},t,{..._}))}addTargets(e){let t=l(this,R),o=Object.assign({},t,e);this.setTargets(o)}getTargets(){return Object.freeze(l(this,R))}setActiveTargets(e=null){if(e===null){this.activeTargets=[_.ALL];return}else if(typeof e=="string"||e instanceof String)e=e.split(",");else if(typeof e=="object"||typeof e=="function")return;for(let t=0;t<e.length;++t)e[t]=e[t].trim();this.activeTargets=e}getActiveTarget(){return this.activeTargets}setActiveTarget(e){this.activeTargets=[],this.setActiveTargets(e),this.activeTargets=[this.activeTargets[0]]}setLogLevel(e,t){l(this,x)[e]=t}getLogLevel(e){return l(this,x)[e]}setLogLevels(e){se(this,x,e)}getLogLevels(){return Object.freeze(l(this,x))}isTargetAllowed(e){return!e||!this.activeTargets||!this.activeTargets.length||e===_.ALL||this.activeTargets.includes(_.ALL)?!0:this.activeTargets.includes(e)}setColumns(e,t,o){let r=0;for(let i in t){if(!["contextName","symbol","lid","text"].includes(i))continue;let a=t[i],c=document.createElement("span");c.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${r}`),++r,c.textContent=a,e.append(c)}let s=document.createElement("span");s.classList.add("analogger-col","analogger-col-text",`analogger-col-${r}`),s.textContent=o,e.append(s);for(let i=1;i<=3;++i)s=document.createElement("span"),s.classList.add("analogger-col","analogger-col-extra",`analogger-extra-${i}`),e.append(s)}checkOnLoggingToDom(e,t){try{let o=e.onLoggingToDom;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}addLineToDom(e,t,{context:o,addType:r,message:s,text:i,args:a}){if(this.checkOnLoggingToDom(o,{message:s,text:i,args:a,logCounter:this.logCounter,$view:e,$line:t,addType:r})===!1)return;if(r===V.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(fe).length)return;this.showRemovedNotification(o);return}this.scrollDivToBottom(e)}showRemovedNotification(e){e.contextName=Re,e.symbol="\u{1F5D1}",e.color="orange",e.className=fe,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(e,"",{addType:V.TOP,message:"Oldest entries removed"})},500)}writeLogToDom(e,t,{addType:o=V.BOTTOM,message:r="",args:s=null}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=r||t;for(let i=0;i<this.$containers.length;++i){let a=this.$containers[i],c=a.querySelector("."+de);c||(c=document.createElement("div"),c.classList.add(de),c.append(document.createElement("span")),c.append(document.createElement("span")),c.append(document.createElement("span")),a.append(c));let u=a.querySelector("."+he);u||(u=document.createElement("div"),u.classList.add(he),a.append(u));let d=a.querySelector("."+ue);d||(d=document.createElement("div"),d.classList.add(ue),d.append(document.createElement("span")),d.append(document.createElement("span")),d.append(document.createElement("span")),a.append(d));let p=document.createElement("div");p.classList.add(Ae),e.className&&p.classList.add(e.className),p.style.color=e.color,this.setColumns(p,e,t,s),setTimeout(function(L,G,{addType:Z,context:ee,message:te,text:oe,args:P}){this.addLineToDom(L,G,{addType:Z,context:ee,message:te,text:oe,args:P})}.bind(this,u,p,{addType:o,context:e,message:r,text:t,args:s}),0)}}writeLogToFile(e){try{fs.appendFileSync(this.options.logToFilePath,e+this.EOL)}catch(t){console.rawError("LOG_TO_FILE_FAILURE: ",t.message)}}writeLogToRemote(...e){try{let t=this.generateLogToRemoteUrl(this.options.logToRemoteUrl);if(!t)return null;let o=[...e],r=JSON.stringify(o);fetch(t,{method:"post",body:r,headers:{"Content-Type":"application/json"}}).then(s=>s.json()).catch(()=>null)}catch(t){console.rawError("LOG_TO_REMOTE_FAILURE: ",t.message)}}uploadDataToRemote(e,t=null,o=null){try{if(!this.options.logToRemote)return;let r=this.generateLogToRemoteUrl(this.options.logToRemoteBinaryUrl,{pathname:E.binarypathname});if(!r)return null;let s=e;t&&(s=JSON.stringify({raw:e,context:t})),fetch(r,{method:"post",body:s}).then(i=>i.json()).then(i=>o&&o(i)).catch(i=>i)}catch(r){console.rawError("BINARY_TO_REMOTE_FAILURE: ",r.message)}}stringifyEntry(e){let t;try{t=JSON.stringify(e)}catch{}if(!t)try{t=ve(e)}catch{}return t}convertEntry(e){try{if(e==null||e==="")return e;if(typeof e=="boolean")return e;if(typeof e=="symbol"||typeof e=="number")return e;if(typeof e=="string"||myVar instanceof e)return e;if(e instanceof Date)return e}catch{}return this.stringifyEntry(e)}convertArgumentsToText(e){let t=[],o,r=e.length;for(let s=0;s<r;++s){let i,a=e[s];i=this.convertEntry(a),t.push(i)}return o=t.join("\u2022"),o}writeToConsole(e,t){let o=[e];this.isBrowser()&&o.push(`color: ${t.color}`);let r=t.contextLevel||g.LOG;r>=g.ERROR?l(this,N).call(this,...o):r>=g.WARN?l(this,v).call(this,...o):r>=g.INFO?l(this,w).call(this,...o):r>=g.LOG?l(this,b).call(this,...o):r>=g.DEBUG&&l(this,X).call(this,...o)}checkPlugins(e,{message:t,text:o,args:r,logCounter:s}){try{if(!Object.keys(f.pluginTable).length)return;let i=!0;for(let a in e){let c=e[a];if(!c)continue;let u=f.pluginTable[a];if(!u||typeof u!="object")continue;let{callback:d,methodName:p,type:L}=u;if(typeof d!="function")continue;d.call(this,e,{message:t,text:o,args:r,logCounter:s,methodName:p,type:L,pluginOptions:c})===!1&&(i=!1)}return i}catch{}}checkOnLogging(e,t){try{let o=e.onLogging;return typeof o!="function"?void 0:o.call(this,e,t)}catch{}}processOutput(e={}){try{let t="";if(this.applySymbolByName(e),!this.isTargetAllowed(e.target)||e.logLevel===g.OFF||this.options.requiredLogLevel>e.logLevel)return;let o=Array.prototype.slice.call(arguments,1);t=this.convertArgumentsToText(o);let r="",s=this.format({...e,message:t});this.keepLog&&this.addToLogHistory({context:e,message:t,text:s}),++this.logCounter;let i;if(i=this.checkOnLogging(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1||(i=this.checkPlugins(e,{message:t,text:s,args:o,logCounter:this.logCounter}),i===!1)||(this.options.logToRemote&&this.writeLogToRemote(e,...o),this.isBrowser()?(e.environnment=f.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,s,{message:t,args:o}),r=`%c${s}`):(e.environnment=f.ENVIRONMENT_TYPE.NODE,r=Y.getTextFromColor(s,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(s)),this.options.hideLog))return;this.writeToConsole(r,e),this.errorTargetHandler(e,o)}catch(t){console.rawError("AnaLogger:",t.message)}}isExtendedOptionsPassed(e){return typeof e!="object"?!1:e.hasOwnProperty("context")||e.hasOwnProperty("target")||e.hasOwnProperty("color")||e.hasOwnProperty("contextName")||e.hasOwnProperty("lid")}extractContextFromInput(e){return(typeof e=="string"||e instanceof String)&&e.toLowerCase().indexOf("lid:")!==0,e}listSymbols(){for(let e in J)console.rawLog(J[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&J[e.symbol]&&(e.symbol=J[e.symbol])}catch{}}convertToContext(e,t){e=e||t;let o=e;if(e.context&&typeof e.context=="object"){let r=Object.assign({},e);delete r.context,o=Object.assign({},e.context,r)}return o=Object.assign({},t,o),delete o.context,o}log(e,...t){if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let s=this.generateDefaultContext();this.processOutput.apply(this,[s,e,...t]);return}let o=this.generateDefaultContext(),r=this.convertToContext(e,o);this.processOutput.apply(this,[r,...t])}error(e,...t){if(this.options.hideError)return;if(e=this.extractContextFromInput(e),!this.isExtendedOptionsPassed(e)){let i=this.generateErrorContext();this.processOutput.apply(this,[i,e,...t]);return}let o=this.generateErrorContext(),r=this.convertToContext(e,o),s=Array.prototype.slice.call(arguments,1);this.log(r,...s)}overrideError(){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.error"),l(this,y).error=!0,console.error=this.onDisplayError.bind(this)}attachConsole(){try{return console.rawLog=l(this,b),console.raw=l(this,b),console.rawInfo=l(this,w),console.rawWarn=l(this,v),console.rawError=l(this,N),console.logHistory=this.logHistory,console.logHistory=this.logHistory,Ze.forEach(e=>{console[e]=function(...t){this[e](...t)}.bind(this)}),!0}catch(e){console.error({lid:4321},e.message)}return!1}overrideConsole({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){this.options.hideHookMessage||l(this,b).call(this,"AnaLogger: Hook placed on console.log"),[{log:e},{info:t},{warn:o}].forEach(function(s){let i=Object.keys(s)[0];s[i]&&(l(this,y)[i]=!0,console[i]=this.onDisplayLog.bind(this))}.bind(this)),r&&this.overrideError(),this.attachConsole()}removeOverrideError(){console.error=l(this,N),l(this,y).error=!1}removeOverride({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){e&&(console.log=l(this,b),l(this,y).log=!1),t&&(console.info=l(this,w),l(this,y).info=!1),o&&(console.warn=l(this,v),l(this,y).warn=!1),r&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){if(!l(this,y).log){l(this,U).call(this,...e);return}let t=console.log;console.log=l(this,b),l(this,U).call(this,...e),console.log=t}alert(...e){if(!this.isBrowser())return this.log(...e);let t=e.join(" | ");alert(t)}assert(e,t=!0,...o){let r;try{return typeof e=="function"?(r=e(...o),r!==t?(this.error("Asset failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)):e!==t?(this.error("Assert failed"),!1):(this.options.hidePassingTests||this.log("SUCCESS: Assert passed"),!0)}catch{this.error("Unexpected error in assert")}return!1}applyAnalogFormatting({activeTarget:e="",override:t=!1}={}){try{let r={STANDARD:null,TEST:{color:"#B18904",symbol:"diamonds"}};return this.setDefaultContext(r.DEFAULT),e&&this.setActiveTarget(e),this.setOptions({silent:!1,hideError:!1,hideHookMessage:!0,lidLenMax:6}),t&&(this.overrideConsole(),this.overrideError()),!0}catch(o){console.error({lid:3249},o.message)}return!1}applyPredefinedFormat(e=z.DEFAULT_FORMAT,{activeTarget:t="",override:o=!1}={}){if(e===z.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:o})}static generateInstance(){return new f}static getInstance(e=0){return f.instanceCount?l(f,B)[e]:null}static generateMainInstance(){let e=f.getInstance();return e||new f}static startLogger(){f.generateMainInstance().applyPredefinedFormat(z.DEFAULT_FORMAT,{override:!0})}static stopLogger(){let e=f.generateMainInstance();e.removeOverride(),e.removeOverrideError()}convertToUrl({protocol:e=E.protocol,host:t=E.host,port:o=E.port,pathname:r=E.pathname}={}){let s=new URL("http://localhost");return s.protocol=e,s.host=t,s.port=o,r&&(s.pathname=r),s.toString()}generateLogToRemoteUrl(e=null,{pathname:t=E.pathname}={}){if(typeof e=="string"||e instanceof String)return e;if(!this.isBrowser())return null;let o=this.options.protocol||window.location.protocol+"//",r=this.options.host||window.location.host||E.host,s=this.options.port||E.port;return t=this.options.pathname||t,this.convertToUrl({protocol:o,host:r,port:s,pathname:t})}addPlugin(e,t,o=""){o=o||e,this[e]=t,f.pluginTable[o]={type:Ne.LOCAL,methodName:e,callback:t}}addGlobalPlugin(e,t,o){f[e]=t,f.pluginTable[o]={type:Ne.GLOBAL,methodName:e,callback:t}}getPluginList(){return Object.keys(f.pluginTable)}validatePlugin(e){return f.pluginTable[e]?!0:(console.warn(`The plugin ${e} is not registered`),!1)}},T=f;B=new WeakMap,A=new WeakMap,R=new WeakMap,x=new WeakMap,b=new WeakMap,w=new WeakMap,v=new WeakMap,N=new WeakMap,X=new WeakMap,U=new WeakMap,y=new WeakMap,K=new WeakSet,Se=function(e){let t=this.generateNewContext(),o=Object.assign({},t,e);return o.color.toLowerCase().indexOf("rgb")>-1?o.color=Y.rgbStringToHex(o.color):o.color.indexOf("#")===-1&&(o.color=Y.colorNameToHex(o.color)),o},Q=new WeakSet,Ce=function(){try{this.setTargets(_),this.setLogLevels(g),this.setContexts(H)}catch(e){console.error({lid:4321},e.message)}return!1},m(T,B,[]),h(T,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),h(T,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"}),h(T,"instanceCount",0),h(T,"pluginTable",{});var et=T,dt=et,ht=T.generateMainInstance();var ut=T;export{ut as AnaLogger,H as DEFAULT_LOG_CONTEXTS,g as DEFAULT_LOG_LEVELS,_ as DEFAULT_LOG_TARGETS,ht as anaLogger,dt as default};
|
|
4
6
|
|
package/esm/ana-logger.mjs
CHANGED
|
@@ -633,26 +633,72 @@ class ____AnaLogger
|
|
|
633
633
|
*/
|
|
634
634
|
onBuildLog({contextName, message = "", lid = "", symbol = ""} = {})
|
|
635
635
|
{
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
636
|
+
try
|
|
637
|
+
{
|
|
638
|
+
let strResult = "";
|
|
639
|
+
|
|
640
|
+
const strs = message.split(/\n/g);
|
|
641
|
+
|
|
642
|
+
for (let i = 0; i < strs.length; ++i)
|
|
643
|
+
{
|
|
644
|
+
let message0 = strs[i];
|
|
645
|
+
|
|
646
|
+
// Time
|
|
647
|
+
const date = new Date();
|
|
648
|
+
let time = ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2) + ":" + ("0" + date.getSeconds()).slice(-2);
|
|
649
|
+
|
|
650
|
+
// Display content in columns
|
|
651
|
+
time = this.truncateMessage(time, {fit: this.options.timeLenMax});
|
|
652
|
+
|
|
653
|
+
if (i > 0)
|
|
654
|
+
{
|
|
655
|
+
contextName = "";
|
|
656
|
+
lid = "";
|
|
657
|
+
}
|
|
658
|
+
contextName = this.truncateMessage(contextName, {
|
|
659
|
+
fit : this.options.contextLenMax,
|
|
660
|
+
align: ____AnaLogger.ALIGN.RIGHT
|
|
661
|
+
});
|
|
662
|
+
lid = this.truncateMessage(lid, {fit: this.options.lidLenMax});
|
|
663
|
+
|
|
664
|
+
if (this.options.messageLenMax !== undefined)
|
|
665
|
+
{
|
|
666
|
+
message0 = this.truncateMessage(message0, {fit: this.options.messageLenMax});
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
symbol = this.truncateMessage(symbol, {fit: this.options.symbolLenMax});
|
|
647
670
|
|
|
648
|
-
|
|
671
|
+
if (i <= 0)
|
|
672
|
+
{
|
|
673
|
+
strResult += `[${time}] ${contextName}: (${lid}) ${symbol} ${message0}`;
|
|
674
|
+
}
|
|
675
|
+
else
|
|
676
|
+
{
|
|
677
|
+
// If last line empty, don't display it
|
|
678
|
+
if (i < strs.length - 1)
|
|
679
|
+
{
|
|
680
|
+
strResult += "\n";
|
|
681
|
+
strResult += `[${time}] ${contextName} ${lid} ${message0}`;
|
|
682
|
+
}
|
|
683
|
+
else
|
|
684
|
+
{
|
|
685
|
+
if (message0)
|
|
686
|
+
{
|
|
687
|
+
strResult += "\n";
|
|
688
|
+
strResult += `[${time}] ${contextName} ${lid} ${message0}`;
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
return strResult;
|
|
695
|
+
}
|
|
696
|
+
catch (e)
|
|
649
697
|
{
|
|
650
|
-
|
|
698
|
+
console.rawError(e.message);
|
|
651
699
|
}
|
|
652
700
|
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
return `[${time}] ${contextName}: (${lid}) ${symbol} ${message}`;
|
|
701
|
+
return "";
|
|
656
702
|
}
|
|
657
703
|
|
|
658
704
|
onErrorForUserTarget(context, ...args)
|
package/package.json
CHANGED
package/src/ana-logger.cjs
CHANGED
|
@@ -621,26 +621,72 @@ class ____AnaLogger
|
|
|
621
621
|
*/
|
|
622
622
|
onBuildLog({contextName, message = "", lid = "", symbol = ""} = {})
|
|
623
623
|
{
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
624
|
+
try
|
|
625
|
+
{
|
|
626
|
+
let strResult = "";
|
|
627
|
+
|
|
628
|
+
const strs = message.split(/\n/g);
|
|
629
|
+
|
|
630
|
+
for (let i = 0; i < strs.length; ++i)
|
|
631
|
+
{
|
|
632
|
+
let message0 = strs[i];
|
|
633
|
+
|
|
634
|
+
// Time
|
|
635
|
+
const date = new Date();
|
|
636
|
+
let time = ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2) + ":" + ("0" + date.getSeconds()).slice(-2);
|
|
637
|
+
|
|
638
|
+
// Display content in columns
|
|
639
|
+
time = this.truncateMessage(time, {fit: this.options.timeLenMax});
|
|
640
|
+
|
|
641
|
+
if (i > 0)
|
|
642
|
+
{
|
|
643
|
+
contextName = "";
|
|
644
|
+
lid = "";
|
|
645
|
+
}
|
|
646
|
+
contextName = this.truncateMessage(contextName, {
|
|
647
|
+
fit : this.options.contextLenMax,
|
|
648
|
+
align: ____AnaLogger.ALIGN.RIGHT
|
|
649
|
+
});
|
|
650
|
+
lid = this.truncateMessage(lid, {fit: this.options.lidLenMax});
|
|
651
|
+
|
|
652
|
+
if (this.options.messageLenMax !== undefined)
|
|
653
|
+
{
|
|
654
|
+
message0 = this.truncateMessage(message0, {fit: this.options.messageLenMax});
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
symbol = this.truncateMessage(symbol, {fit: this.options.symbolLenMax});
|
|
635
658
|
|
|
636
|
-
|
|
659
|
+
if (i <= 0)
|
|
660
|
+
{
|
|
661
|
+
strResult += `[${time}] ${contextName}: (${lid}) ${symbol} ${message0}`;
|
|
662
|
+
}
|
|
663
|
+
else
|
|
664
|
+
{
|
|
665
|
+
// If last line empty, don't display it
|
|
666
|
+
if (i < strs.length - 1)
|
|
667
|
+
{
|
|
668
|
+
strResult += "\n";
|
|
669
|
+
strResult += `[${time}] ${contextName} ${lid} ${message0}`;
|
|
670
|
+
}
|
|
671
|
+
else
|
|
672
|
+
{
|
|
673
|
+
if (message0)
|
|
674
|
+
{
|
|
675
|
+
strResult += "\n";
|
|
676
|
+
strResult += `[${time}] ${contextName} ${lid} ${message0}`;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
return strResult;
|
|
683
|
+
}
|
|
684
|
+
catch (e)
|
|
637
685
|
{
|
|
638
|
-
|
|
686
|
+
console.rawError(e.message);
|
|
639
687
|
}
|
|
640
688
|
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
return `[${time}] ${contextName}: (${lid}) ${symbol} ${message}`;
|
|
689
|
+
return "";
|
|
644
690
|
}
|
|
645
691
|
|
|
646
692
|
onErrorForUserTarget(context, ...args)
|