analogger 1.20.2 → 1.20.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 CHANGED
@@ -1,5 +1,7 @@
1
- ## [1.20.2](https://github.com/thimpat/analogger/compare/v1.20.1...v1.20.2) (2022-09-07)
1
+ ## [1.20.3](https://github.com/thimpat/analogger/compare/v1.20.2...v1.20.3) (2022-09-07)
2
2
 
3
+ ## [1.20.2](https://github.com/thimpat/analogger/compare/v1.20.1...v1.20.2) (2022-09-07)
4
+
3
5
  ## [1.20.1](https://github.com/thimpat/analogger/compare/v1.20.0...v1.20.1) (2022-09-06)
4
6
 
5
7
  # [1.20.0](https://github.com/thimpat/analogger/compare/v1.19.0...v1.20.0) (2022-09-05)
@@ -54,8 +54,8 @@ export const DEFAULT_LOG_LEVELS = {
54
54
 
55
55
  export const DEFAULT_LOG_CONTEXTS = {
56
56
  // The default context
57
- DEFAULT : {contextName: "DEFAULT", logLevel: DEFAULT_LOG_LEVELS.LOG},
58
- LOG : {contextName: "LOG", logLevel: DEFAULT_LOG_LEVELS.LOG},
57
+ DEFAULT : {contextName: "DEFAULT", logLevel: DEFAULT_LOG_LEVELS.LOG, symbol: "check"},
58
+ LOG : {contextName: "LOG", logLevel: DEFAULT_LOG_LEVELS.LOG, symbol: "check"},
59
59
  DEBUG : {contextName: "DEBUG", logLevel: DEFAULT_LOG_LEVELS.DEBUG},
60
60
  INFO : {contextName: "INFO", logLevel: DEFAULT_LOG_LEVELS.INFO, color: "#B18904", symbol: "diamonds"},
61
61
  WARN : {contextName: "WARN", logLevel: DEFAULT_LOG_LEVELS.WARN, color: COLOR_TABLE[0], symbol: "cross"},
@@ -875,6 +875,7 @@ class ____AnaLogger
875
875
  let defaultContext = this.#contexts[DEFAULT_LOG_CONTEXTS.DEFAULT.contextName] || {};
876
876
  defaultContext = Object.assign({},
877
877
  {
878
+ lid : "",
878
879
  contextName: DEFAULT_LOG_CONTEXTS.DEFAULT.contextName,
879
880
  target : DEFAULT_LOG_TARGETS.ALL,
880
881
  symbol : "⚡",
@@ -1472,6 +1473,7 @@ class ____AnaLogger
1472
1473
  try
1473
1474
  {
1474
1475
  let message = "";
1476
+ this.applySymbolByName(context);
1475
1477
 
1476
1478
  if (!this.isTargetAllowed(context.target))
1477
1479
  {
@@ -1488,8 +1490,8 @@ class ____AnaLogger
1488
1490
  return;
1489
1491
  }
1490
1492
 
1491
- let args = Array.prototype.slice.call(arguments);
1492
- args.shift();
1493
+ // Clone arguments without the context (= the first argument passed) to generate the message
1494
+ let args = Array.prototype.slice.call(arguments, 1 /* => Ignore arguments[0] = context */);
1493
1495
 
1494
1496
  message = this.convertArgumentsToText(args);
1495
1497
 
@@ -1638,8 +1640,6 @@ class ____AnaLogger
1638
1640
  context = Object.assign({}, defaultContext, context);
1639
1641
  delete context.context;
1640
1642
 
1641
- this.applySymbolByName(context);
1642
-
1643
1643
  return context;
1644
1644
  }
1645
1645
 
@@ -1,4 +1,4 @@
1
- var Ie=Object.defineProperty;var ke=(n,e,t)=>e in n?Ie(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var u=(n,e,t)=>(ke(n,typeof e!="symbol"?e+"":e,t),t),le=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var a=(n,e,t)=>(le(n,e,"read from private field"),t?t.call(n):e.get(n)),x=(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)},ae=(n,e,t,o)=>(le(n,e,"write to private field"),o?o.call(n,t):e.set(n,t),t);var ce=(n,e,t)=>(le(n,e,"access private method"),t);var Le={Foreground:38,Background:48},S="\x1B[1D",be="\x1B[0m"+S,J={Bold:"\x1B[1m"+S,Underline:"\x1B[4m"+S,Reversed:"\x1B[7m"+S},He={Bold:"\x1B[1m"+S,Underline:"\x1B[4m"+S,Reversed:"\x1B[7m"+S},fe={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 Be(n){return!!fe[n]}var Te=(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),Oe=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)}:{}},ye=function({red:n,green:e,blue:t}){let o=n<<16|e<<8|t<<0;return"#"+(16777216+o).toString(16).slice(1)},xe=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]}},Ue=function(n){let e=xe(n);return e&&ye(e)},z=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},Ae=({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,l=2*t-i;o=z(l,i,n+1/3),r=z(l,i,n),s=z(l,i,n-1/3)}return{red:Math.round(o*255),blue:Math.round(s*255),green:Math.round(r*255)}},Ne=n=>{let e=n.toLowerCase();return typeof fe[e]<"u"?fe[e]:""};function G({red:n,blue:e,green:t},o=!0){if(n===void 0||e===void 0||t===void 0)return"";let r=Te(n,e,t);return`\x1B[${o?Le.Foreground:Le.Background};5;`+r+"m "+S}function U(n,e=!0){let{red:t,green:o,blue:r}=Oe(n);return G({red:t,green:o,blue:r},e)}function X({hue:n,saturation:e,lightness:t},o){let{red:r,green:s,blue:i}=Ae({hue:n,saturation:e,lightness:t});return G({red:r,green:s,blue:i},o)}function de(n,e=!0){try{let t;return n=n||"",n?((typeof n=="string"||n instanceof String)&&(n=n.trim()),Be(n)?(t=Ne(n),U(t,e)):typeof n=="object"&&!!n.red&&!!n.blue&&!!n.green?G(n,e):typeof n=="object"&&!!n.hue&&!!n.saturation&&!!n.lightness?X(n,e):n.startsWith("#")?U(n,e):(n=n.toString(),/^[\da-fA-F]+$/.test(n)?U("#"+n,e):"")):""}catch(t){console.error("TO_ANSI_INVALID_ARGUMENT_ERROR",t.message)}}function K(n,{fg:e,bg:t,isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){let i=!1,l="";return e&&(i=!0,l=l+e),t&&(i=!0,l=l+t),o&&(i=!0,l=l+J.Underline),r&&(i=!0,l=l+J.Bold),s&&(i=!0,l=l+J.Reversed),i?l+n+be:n}function Ge(n,{fg:e={},bg:t={},isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=G({...e})),t&&(t=G({...t},!1)),K(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function Pe(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=X({...e})),t&&(t=X({...t},!1)),K(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function je(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=U(e)),t&&(t=U(t,!1)),K(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function qe(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=de(t)),o&&(o=de(o,!1)),K(n,{fg:t,bg:o,isUnderline:r,isBold:s,isReversed:i})}var Q={fromRgb:G,fromHexa:U,fromHsl:X,fromColor:de,getTextFromRgb:Ge,getTextFromHsl:Pe,getTextFromHex:je,getTextFromColor:qe,colorNameToHex:Ne,hslToRgb:Ae,hexToRgb:Oe,rgbToHex:ye,rgbToAnsi256:Te,rgbStringToRgb:xe,rgbStringToHex:Ue,hue2rgb:z,RESET:be,FONT_STYLE:J,STYLE:He};var we={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"}},P=we.COLOR_TABLE,Y=we.SYSTEM,he=2e3,ue="analogger-removed-notif",ge="analogger-header",pe="analogger-view",me="analogger-footer",Re="to-esm-line",Z={TOP:"TOP",BOTTOM:"BOTTOM"},_e="ANALOGGER",Ee={DEFAULT_FORMAT:"FORMAT1"};var{parse:tt,stringify:We}=JSON,{keys:ot}=Object,Ye=String,$e="string";var Se="object",Ve=(n,e)=>e;var Fe=(n,e,t)=>{let o=Ye(e.push(t)-1);return n.set(t,o),o};var ve=(n,e,t)=>{let o=e&&typeof e===Se?(L,g)=>L===""||-1<e.indexOf(L)?g:void 0:e||Ve,r=new Map,s=[],i=[],l=+Fe(r,s,o.call({"":n},"",n)),d=!l;for(;l<s.length;)d=!0,i[l]=We(s[l++],b,t);return"["+i.join(",")+"]";function b(L,g){if(d)return d=!d,g;let A=o.call(this,L,g);switch(typeof A){case Se:if(A===null)return A;case $e:return r.get(A)||Fe(r,s,A)}return A}};var Je=()=>null,D={moduleName:"analogger",protocol:"http://",host:"localhost",port:12e3,pathname:"analogger",binarypathname:"uploaded",loopback:"localhost",consoleDomId:"#analogger",logFilename:"./analogger.log"},j={ALL:"ALL",USER:"USER"},m={FATAL:5e3,ERROR:4e3,WARN:3e3,INFO:2e3,LOG:1e3,DEBUG:500,ALL:200,OFF:0,INHERIT:-1},$={DEFAULT:{contextName:"DEFAULT",logLevel:m.LOG},LOG:{contextName:"LOG",logLevel:m.LOG},DEBUG:{contextName:"DEBUG",logLevel:m.DEBUG},INFO:{contextName:"INFO",logLevel:m.INFO,color:"#B18904",symbol:"diamonds"},WARN:{contextName:"WARN",logLevel:m.WARN,color:P[0],symbol:"cross"},ERROR:{contextName:"ERROR",logLevel:m.ERROR},CRITICAL:{contextName:"CRITICAL",logLevel:m.CRITICAL}},ee=`
1
+ var Ie=Object.defineProperty;var ke=(n,e,t)=>e in n?Ie(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var u=(n,e,t)=>(ke(n,typeof e!="symbol"?e+"":e,t),t),le=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)};var a=(n,e,t)=>(le(n,e,"read from private field"),t?t.call(n):e.get(n)),x=(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)},ae=(n,e,t,o)=>(le(n,e,"write to private field"),o?o.call(n,t):e.set(n,t),t);var ce=(n,e,t)=>(le(n,e,"access private method"),t);var Le={Foreground:38,Background:48},S="\x1B[1D",be="\x1B[0m"+S,J={Bold:"\x1B[1m"+S,Underline:"\x1B[4m"+S,Reversed:"\x1B[7m"+S},He={Bold:"\x1B[1m"+S,Underline:"\x1B[4m"+S,Reversed:"\x1B[7m"+S},fe={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 Be(n){return!!fe[n]}var Te=(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),Oe=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)}:{}},ye=function({red:n,green:e,blue:t}){let o=n<<16|e<<8|t<<0;return"#"+(16777216+o).toString(16).slice(1)},xe=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]}},Ue=function(n){let e=xe(n);return e&&ye(e)},z=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},Ae=({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,l=2*t-i;o=z(l,i,n+1/3),r=z(l,i,n),s=z(l,i,n-1/3)}return{red:Math.round(o*255),blue:Math.round(s*255),green:Math.round(r*255)}},Ne=n=>{let e=n.toLowerCase();return typeof fe[e]<"u"?fe[e]:""};function G({red:n,blue:e,green:t},o=!0){if(n===void 0||e===void 0||t===void 0)return"";let r=Te(n,e,t);return`\x1B[${o?Le.Foreground:Le.Background};5;`+r+"m "+S}function U(n,e=!0){let{red:t,green:o,blue:r}=Oe(n);return G({red:t,green:o,blue:r},e)}function X({hue:n,saturation:e,lightness:t},o){let{red:r,green:s,blue:i}=Ae({hue:n,saturation:e,lightness:t});return G({red:r,green:s,blue:i},o)}function de(n,e=!0){try{let t;return n=n||"",n?((typeof n=="string"||n instanceof String)&&(n=n.trim()),Be(n)?(t=Ne(n),U(t,e)):typeof n=="object"&&!!n.red&&!!n.blue&&!!n.green?G(n,e):typeof n=="object"&&!!n.hue&&!!n.saturation&&!!n.lightness?X(n,e):n.startsWith("#")?U(n,e):(n=n.toString(),/^[\da-fA-F]+$/.test(n)?U("#"+n,e):"")):""}catch(t){console.error("TO_ANSI_INVALID_ARGUMENT_ERROR",t.message)}}function K(n,{fg:e,bg:t,isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){let i=!1,l="";return e&&(i=!0,l=l+e),t&&(i=!0,l=l+t),o&&(i=!0,l=l+J.Underline),r&&(i=!0,l=l+J.Bold),s&&(i=!0,l=l+J.Reversed),i?l+n+be:n}function Ge(n,{fg:e={},bg:t={},isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=G({...e})),t&&(t=G({...t},!1)),K(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function Pe(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=X({...e})),t&&(t=X({...t},!1)),K(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function je(n,{fg:e="",bg:t="",isUnderline:o=!1,isBold:r=!1,isReversed:s=!1}){return e&&(e=U(e)),t&&(t=U(t,!1)),K(n,{fg:e,bg:t,isUnderline:o,isBold:r,isReversed:s})}function qe(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=de(t)),o&&(o=de(o,!1)),K(n,{fg:t,bg:o,isUnderline:r,isBold:s,isReversed:i})}var Q={fromRgb:G,fromHexa:U,fromHsl:X,fromColor:de,getTextFromRgb:Ge,getTextFromHsl:Pe,getTextFromHex:je,getTextFromColor:qe,colorNameToHex:Ne,hslToRgb:Ae,hexToRgb:Oe,rgbToHex:ye,rgbToAnsi256:Te,rgbStringToRgb:xe,rgbStringToHex:Ue,hue2rgb:z,RESET:be,FONT_STYLE:J,STYLE:He};var we={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"}},P=we.COLOR_TABLE,Y=we.SYSTEM,he=2e3,ue="analogger-removed-notif",ge="analogger-header",pe="analogger-view",me="analogger-footer",Re="to-esm-line",Z={TOP:"TOP",BOTTOM:"BOTTOM"},_e="ANALOGGER",Ee={DEFAULT_FORMAT:"FORMAT1"};var{parse:tt,stringify:We}=JSON,{keys:ot}=Object,Ye=String,$e="string";var Se="object",Ve=(n,e)=>e;var Fe=(n,e,t)=>{let o=Ye(e.push(t)-1);return n.set(t,o),o};var ve=(n,e,t)=>{let o=e&&typeof e===Se?(L,g)=>L===""||-1<e.indexOf(L)?g:void 0:e||Ve,r=new Map,s=[],i=[],l=+Fe(r,s,o.call({"":n},"",n)),d=!l;for(;l<s.length;)d=!0,i[l]=We(s[l++],b,t);return"["+i.join(",")+"]";function b(L,g){if(d)return d=!d,g;let A=o.call(this,L,g);switch(typeof A){case Se:if(A===null)return A;case $e:return r.get(A)||Fe(r,s,A)}return A}};var Je=()=>null,D={moduleName:"analogger",protocol:"http://",host:"localhost",port:12e3,pathname:"analogger",binarypathname:"uploaded",loopback:"localhost",consoleDomId:"#analogger",logFilename:"./analogger.log"},j={ALL:"ALL",USER:"USER"},m={FATAL:5e3,ERROR:4e3,WARN:3e3,INFO:2e3,LOG:1e3,DEBUG:500,ALL:200,OFF:0,INHERIT:-1},$={DEFAULT:{contextName:"DEFAULT",logLevel:m.LOG,symbol:"check"},LOG:{contextName:"LOG",logLevel:m.LOG,symbol:"check"},DEBUG:{contextName:"DEBUG",logLevel:m.DEBUG},INFO:{contextName:"INFO",logLevel:m.INFO,color:"#B18904",symbol:"diamonds"},WARN:{contextName:"WARN",logLevel:m.WARN,color:P[0],symbol:"cross"},ERROR:{contextName:"ERROR",logLevel:m.ERROR},CRITICAL:{contextName:"CRITICAL",logLevel:m.CRITICAL}},ee=`
2
2
  `,te={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 De(){return typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node<"u"?Y.NODE:Y.BROWSER}var ze=De();function Xe(){return ze===Y.NODE}var F,M,C,w,I,k,H,oe,re,ne,Me,se,Ce,E=class{constructor({name:e="default"}={}){x(this,ne);x(this,se);u(this,"system","");u(this,"instanceId","");u(this,"instanceName","");u(this,"logIndex",0);u(this,"logCounter",0);x(this,F,[]);x(this,M,{});x(this,C,{});u(this,"activeTargets",[]);u(this,"indexColor",0);u(this,"format","");u(this,"keepLog",!1);u(this,"logHistory",[]);u(this,"$containers",null);u(this,"options",{hideHookMessage:!1});x(this,w,console.log);x(this,I,console.info);x(this,k,console.warn);x(this,H,console.error);x(this,oe,console.debug);x(this,re,console.table);u(this,"originalFormatFunction");u(this,"removeDomOldEntries",e=>{if(e.childElementCount>he){let o=Math.ceil(he/10);for(let r=0;r<o;++r)e.removeChild(e.firstChild);return o}return 0});u(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=De(),this.format=this.onBuildLog.bind(this),this.originalFormatFunction=this.format,this.instanceName=e,++E.instanceCount,this.instanceId=E.instanceCount+"-"+Date.now(),this.errorTargetHandler=this.onError.bind(this),this.errorUserTargetHandler=this.onErrorForUserTarget.bind(this),this.setOptions(this.options),this.rawLog=a(this,w),this.rawInfo=a(this,I),this.rawWarn=a(this,k),this.rawError=a(this,H),console.rawLog=a(this,w),console.raw=a(this,w),console.rawInfo=a(this,I),console.rawWarn=a(this,k),console.rawError=a(this,H),console.keepLogHistory=this.keepLogHistory,console.getLogHistory=this.getLogHistory,console.table=this.table,console.buildTable=this.buildTable,console.truncateMessage=this.truncateMessage,console.rawLog=this.rawLog,console.rawInfo=this.rawInfo,console.rawWarn=this.rawWarn,console.rawError=this.rawError,this.ALIGN=E.ALIGN,this.ENVIRONMENT_TYPE=E.ENVIRONMENT_TYPE,ce(this,se,Ce).call(this),this.resetLogHistory()}getName(){return this.instanceName}getId(){return this.instanceId}keepLogHistory(){this.keepLog=!0}releaseLogHistory(){this.keepLog=!1}resetLogHistory(){this.logHistory=[]}getLogHistory(e=!0,t=ee){if(!this.logHistory)return"";let r=this.logHistory.slice(0),s=JSON.parse(JSON.stringify(r));return e?s.join(t):s}forceEnvironment(e){this.forcedSystem=e}isNode(){return this&&this.forcedSystem?this.forcedSystem===Y.NODE:Xe()}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:l=void 0,hideHookMessage:d=void 0,hidePassingTests:b=void 0,logToDom:L=void 0,logToFile:g=void 0,logToRemote:A=void 0,logToRemoteUrl:R=void 0,logToRemoteBinaryUrl:q=void 0,loopback:T=D.loopback,requiredLogLevel:p=m.LOG,oneConsolePerContext:V=void 0,silent:h=void 0,protocol:ie=void 0,host:c=void 0,port:f=void 0,pathname:O=void 0,binarypathname:N=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=p;let v;h!==void 0?v=!!h:i!==void 0&&(v=!!i),[{hideLog:v},{oneConsolePerContext:V},{hideError:l},{hideHookMessage:d},{hidePassingTests:b},{logToRemote:A}].forEach(y=>{let B=Object.keys(y)[0],W=y[B];W!==void 0&&(this.options[B]=!!W)}),[{logToRemoteBinaryUrl:q},{logToRemoteUrl:R},{loopback:T},{protocol:ie},{host:c},{port:f},{pathname:O},{binarypathname:N}].forEach(y=>{let B=Object.keys(y)[0],W=y[B];W!==void 0&&(this.options[B]=W)}),L!==void 0&&(this.options.logToDom=L||D.consoleDomId),g===!1?this.options.logToFile=!1:g!==void 0&&(this.isBrowser()||(this.options.logToFile=g||D.logFilename),a(this,w).call(this,"LogToFile is not supported in this environment. "))}getOptions(){return this.options}truncateMessage(e="",{fit:t=0,align:o=E.ALIGN.LEFT,ellipsis:r="..."}={}){return e=""+e,t&&e.length>t&&(e=e.substring(0,t-r.length)+r),e=o===E.ALIGN.LEFT?e.padEnd(t," "):e.padStart(t," "),e}buildTable(e,{ellipsis:t="...",ColumnMinChars:o=6,columnMaxChars:r=0,verticalSeparator:s=" \u2502 ",horizontalSeparator:i="\u2500",availableLength:l=0,onCompleteHeaders:d=null,onCompleteSeparators:b=null,onCompleteLines:L=null}={}){let g="";if(Array.isArray(e)||(e=Object.values(Object.values(e))),!e||!e.length)return"";let R=e.map(c=>Object.assign({},c)),q=R[0],T=Object.keys(q);R.unshift(T),i=i.repeat(100);let p={};for(let c=1;c<R.length;++c){let f=R[c];for(let O=0;O<T.length;++O){let N=T[O],v=f[N];p[N]=p[N]||0;let y;try{y=JSON.stringify(v).length}catch{}y=y||o,p[N]=Math.max(p[N],y,N.length)}}l||(l=Je()||process.stdout.columns||120-s.length-1-5),l=l-4;let V=Object.values(p).reduce((c,f)=>c+f,0);if(l<V){let c=l/V;for(let f in p)p[f]=Math.floor(p[f]*c)-1,o&&p[f]<o&&(p[f]=o),r&&p[f]>r&&(p[f]=r),p[f]=p[f]}let h;h="";for(let c=0;c<T.length;++c){let f=T[c],O=p[f];h+=this.truncateMessage(f,{fit:O,ellipsis:t}),h+=s}d&&(h=d(h,T)),g+=this.truncateMessage(h,{fit:l}),g+=ee,h="";let ie=i;for(let c=0;c<T.length;++c){let f=T[c],O=p[f];h+=this.truncateMessage(ie,{fit:O,ellipsis:""}),h+=s}b&&(h=b(h,T)),g+=this.truncateMessage(h,{fit:l}),g+=ee;for(let c=1;c<R.length;++c){h="";let f=R[c];for(let O=0;O<T.length;++O){let N=T[O],v=f[N],y=p[N];h+=this.truncateMessage(v,{fit:y,ellipsis:t}),h+=s}L&&(h=L(h,f)),g+=this.truncateMessage(h,{fit:l}),g+=ee}return this.rawLog(g),g}onBuildLog({contextName:e,message:t="",lid:o="",symbol:r=""}={}){let s=new Date,i=("0"+s.getHours()).slice(-2)+":"+("0"+s.getMinutes()).slice(-2)+":"+("0"+s.getSeconds()).slice(-2);return i=this.truncateMessage(i,{fit:this.options.timeLenMax}),e=this.truncateMessage(e,{fit:this.options.contextLenMax,align:E.ALIGN.RIGHT}),o=this.truncateMessage(o,{fit:this.options.lidLenMax}),this.options.messageLenMax!==void 0&&(t=this.truncateMessage(t,{fit:this.options.messageLenMax})),r=this.truncateMessage(r,{fit:this.options.symbolLenMax}),`[${i}] ${e}: (${o}) ${r} ${t}`}onErrorForUserTarget(e,...t){this.errorUserTargetHandler(e,...t)}onError(e,...t){e.target===a(this,M).USER&&this.onErrorForUserTarget(e,...t)}onDisplayLog(...e){this.log(...e)}assistStask(e){try{let t=e.stack.split(`
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($.DEFAULT.contextName,e)}generateDefaultContext(){let e=a(this,F)[$.DEFAULT.contextName]||{};return e=Object.assign({},{contextName:$.DEFAULT.contextName,target:j.ALL,symbol:"\u26A1",color:P[1],logLevel:m.LOG},e),e.name=e.contextName,e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=P[this.indexColor++%(P.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.contextName=$.ERROR.contextName,e.name=e.contextName,e.color=P[0],e.symbol="\u274C",e.error=!0,e.logLevel=m.ERROR,e}setContext(e,t={}){t.contextName=e,t.name=e,t=ce(this,ne,Me).call(this,t),a(this,F)[e]=t}getContext(e){return a(this,F)[e]}setContexts(e){Object.keys(e).forEach(o=>{let r=e[o]||{};this.setContext(o,r),e[o]=a(this,F)[o]})}getContexts(){return Object.freeze(a(this,F))}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 l=r[i];if(i=i.trim(),!i){console.error("Invalid target");break}if(typeof l=="string"||l instanceof String){l=l.trim(),s=[i,l];break}if(typeof l=="number")break}s&&(t[s[0]]=s[1])}}}catch(o){console.error({lid:4321},o.message)}else t=e;ae(this,M,Object.assign({},t,{...j}))}addTargets(e){let t=a(this,M),o=Object.assign({},t,e);this.setTargets(o)}getTargets(){return Object.freeze(a(this,M))}setActiveTargets(e=null){if(e===null){this.activeTargets=[j.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){a(this,C)[e]=t}getLogLevel(e){return a(this,C)[e]}setLogLevels(e){ae(this,C,e)}getLogLevels(){return Object.freeze(a(this,C))}isTargetAllowed(e){return!e||!this.activeTargets||!this.activeTargets.length||e===j.ALL||this.activeTargets.includes(j.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 l=t[i],d=document.createElement("span");d.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${r}`),++r,d.textContent=l,e.append(d)}let s=document.createElement("span");s.classList.add("analogger-col","analogger-col-text",`analogger-col-${r}`),s.textContent=o,e.append(s)}addLineToDom(e,t,{context:o,addType:r}){if(r===Z.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(ue).length)return;o.contextName=_e,o.symbol="\u{1F5D1}",o.color="orange",o.className=ue,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(o,"",{addType:Z.TOP,message:"Oldest entries removed"})},500);return}this.scrollDivToBottom(e)}writeLogToDom(e,t,{addType:o=Z.BOTTOM,message:r=""}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=r||t;for(let s=0;s<this.$containers.length;++s){let i=this.$containers[s],l=i.querySelector("."+ge);l||(l=document.createElement("div"),l.classList.add(ge),l.append(document.createElement("span")),l.append(document.createElement("span")),l.append(document.createElement("span")),i.append(l));let d=i.querySelector("."+pe);d||(d=document.createElement("div"),d.classList.add(pe),i.append(d));let b=i.querySelector("."+me);b||(b=document.createElement("div"),b.classList.add(me),b.append(document.createElement("span")),b.append(document.createElement("span")),b.append(document.createElement("span")),i.append(b));let L=document.createElement("div");L.classList.add(Re),e.className&&L.classList.add(e.className),L.style.color=e.color,this.setColumns(L,e,t),setTimeout(function(g,A,{addType:R,context:q}){this.addLineToDom(g,A,{addType:R,context:q})}.bind(this,d,L,{addType:o,context:e}),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:D.binarypathname});if(!r)return null;let s=e;(t||o)&&(s=JSON.stringify({raw:e,info:t,lid:o})),fetch(r,{method:"post",body:s}).then(()=>!0).catch(i=>i)}catch(r){console.rawError("BINARY_TO_REMOTE_FAILURE: ",r.message)}}convertArgumentsToText(e){let t=[],o,r=e.length;for(let s=0;s<r;++s){let i,l=e[s];try{i=JSON.stringify(l)}catch{}if(!i)try{i=ve(l)}catch{}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||m.LOG;r>m.ERROR?a(this,H).call(this,...o):r>m.WARN?a(this,k).call(this,...o):r>m.INFO?a(this,I).call(this,...o):r>m.LOG?a(this,w).call(this,...o):r>m.DEBUG&&a(this,oe).call(this,...o)}processOutput(e={}){try{let t="";if(!this.isTargetAllowed(e.target)||e.logLevel===m.OFF||this.options.requiredLogLevel>e.logLevel)return;let o=Array.prototype.slice.call(arguments);o.shift(),t=this.convertArgumentsToText(o);let r="",s="";if(s=this.format({...e,message:t}),++this.logCounter,this.isBrowser()?(e.environnment=E.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,s,{message:t}),r=`%c${s}`):(e.environnment=E.ENVIRONMENT_TYPE.NODE,r=Q.getTextFromColor(s,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(s)),this.keepLog&&this.logHistory.push(r),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 te)console.rawLog(te[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&te[e.symbol]&&(e.symbol=te[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,this.applySymbolByName(o),o}log(e,...t){if(this.options.logToRemote&&this.writeLogToRemote(e,...t),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.logToRemote&&this.writeLogToRemote(e,...t),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||a(this,w).call(this,"AnaLogger: Hook placed on console.error"),console.error=this.onDisplayError.bind(this)}overrideConsole({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){this.options.hideHookMessage||a(this,w).call(this,"AnaLogger: Hook placed on console.log"),e&&(console.log=this.onDisplayLog.bind(this)),t&&(console.info=this.onDisplayLog.bind(this)),o&&(console.warn=this.onDisplayLog.bind(this)),r&&this.overrideError()}removeOverrideError(){console.warn=a(this,H)}removeOverride({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){e&&(console.log=a(this,w)),t&&(console.info=a(this,I)),o&&(console.warn=a(this,k)),r&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){return this.isBrowser()?a(this,re).call(this,...e):this.buildTable(...e)}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=Ee.DEFAULT_FORMAT,{activeTarget:t="",override:o=!1}={}){if(e===Ee.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:o})}convertToUrl({protocol:e,host:t,port:o,pathname:r}){if(!e||!t||!o||!r)return null;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=D.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||D.host,s=this.options.port||D.port;return t=this.options.pathname||t,this.convertToUrl({protocol:o,host:r,port:s,pathname:t})}addPlugin(e,t,o){this[e]=t,E.pluginList.push({pluginName:o,type:"local"})}addGlobalPlugin(e,t,o){E[e]=t,E.pluginList.push({pluginName:o,type:"global"})}getPluginList(){return Object.freeze(E.pluginList)}validatePlugin(e){for(let t=0;t<E.pluginList.length;++t)if(E.pluginList[t].pluginName===e)return!0;return console.warn(`The plugin ${e} is not registered`),!1}},_=E;F=new WeakMap,M=new WeakMap,C=new WeakMap,w=new WeakMap,I=new WeakMap,k=new WeakMap,H=new WeakMap,oe=new WeakMap,re=new WeakMap,ne=new WeakSet,Me=function(e){let t=this.generateNewContext(),o=Object.assign({},t,e);return o.color.toLowerCase().indexOf("rgb")>-1?o.color=Q.rgbStringToHex(o.color):o.color.indexOf("#")===-1&&(o.color=Q.colorNameToHex(o.color)),o},se=new WeakSet,Ce=function(){try{this.setTargets(j),this.setLogLevels(m),this.setContexts($)}catch(e){console.error({lid:4321},e.message)}return!1},u(_,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),u(_,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"}),u(_,"instanceCount",0),u(_,"pluginList",[]);var at=_,Ke=_,ct=Ke,ft=new _;export{at as AnaLogger,$ as DEFAULT_LOG_CONTEXTS,m as DEFAULT_LOG_LEVELS,j as DEFAULT_LOG_TARGETS,ft as anaLogger,ct as default};
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($.DEFAULT.contextName,e)}generateDefaultContext(){let e=a(this,F)[$.DEFAULT.contextName]||{};return e=Object.assign({},{lid:"",contextName:$.DEFAULT.contextName,target:j.ALL,symbol:"\u26A1",color:P[1],logLevel:m.LOG},e),e.name=e.contextName,e.id=this.logIndex++,e}generateNewContext(){let e=this.generateDefaultContext();return e.color=P[this.indexColor++%(P.length-3)+2],e.symbol="",e}generateErrorContext(){let e=this.generateDefaultContext();return e.contextName=$.ERROR.contextName,e.name=e.contextName,e.color=P[0],e.symbol="\u274C",e.error=!0,e.logLevel=m.ERROR,e}setContext(e,t={}){t.contextName=e,t.name=e,t=ce(this,ne,Me).call(this,t),a(this,F)[e]=t}getContext(e){return a(this,F)[e]}setContexts(e){Object.keys(e).forEach(o=>{let r=e[o]||{};this.setContext(o,r),e[o]=a(this,F)[o]})}getContexts(){return Object.freeze(a(this,F))}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 l=r[i];if(i=i.trim(),!i){console.error("Invalid target");break}if(typeof l=="string"||l instanceof String){l=l.trim(),s=[i,l];break}if(typeof l=="number")break}s&&(t[s[0]]=s[1])}}}catch(o){console.error({lid:4321},o.message)}else t=e;ae(this,M,Object.assign({},t,{...j}))}addTargets(e){let t=a(this,M),o=Object.assign({},t,e);this.setTargets(o)}getTargets(){return Object.freeze(a(this,M))}setActiveTargets(e=null){if(e===null){this.activeTargets=[j.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){a(this,C)[e]=t}getLogLevel(e){return a(this,C)[e]}setLogLevels(e){ae(this,C,e)}getLogLevels(){return Object.freeze(a(this,C))}isTargetAllowed(e){return!e||!this.activeTargets||!this.activeTargets.length||e===j.ALL||this.activeTargets.includes(j.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 l=t[i],d=document.createElement("span");d.classList.add("analogger-col",`analogger-col-${i}`,`analogger-col-${r}`),++r,d.textContent=l,e.append(d)}let s=document.createElement("span");s.classList.add("analogger-col","analogger-col-text",`analogger-col-${r}`),s.textContent=o,e.append(s)}addLineToDom(e,t,{context:o,addType:r}){if(r===Z.BOTTOM?e.append(t):e.insertBefore(t,e.firstChild),this.removeDomOldEntries(e)){if(e.getElementsByClassName(ue).length)return;o.contextName=_e,o.symbol="\u{1F5D1}",o.color="orange",o.className=ue,clearTimeout(this.timerAddLineToDomID),this.timerAddLineToDomID=setTimeout(()=>{this.timerAddLineToDomID=null,this.writeLogToDom(o,"",{addType:Z.TOP,message:"Oldest entries removed"})},500);return}this.scrollDivToBottom(e)}writeLogToDom(e,t,{addType:o=Z.BOTTOM,message:r=""}={}){this.$containers=this.$containers||document.querySelectorAll(this.options.logToDom),t=r||t;for(let s=0;s<this.$containers.length;++s){let i=this.$containers[s],l=i.querySelector("."+ge);l||(l=document.createElement("div"),l.classList.add(ge),l.append(document.createElement("span")),l.append(document.createElement("span")),l.append(document.createElement("span")),i.append(l));let d=i.querySelector("."+pe);d||(d=document.createElement("div"),d.classList.add(pe),i.append(d));let b=i.querySelector("."+me);b||(b=document.createElement("div"),b.classList.add(me),b.append(document.createElement("span")),b.append(document.createElement("span")),b.append(document.createElement("span")),i.append(b));let L=document.createElement("div");L.classList.add(Re),e.className&&L.classList.add(e.className),L.style.color=e.color,this.setColumns(L,e,t),setTimeout(function(g,A,{addType:R,context:q}){this.addLineToDom(g,A,{addType:R,context:q})}.bind(this,d,L,{addType:o,context:e}),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:D.binarypathname});if(!r)return null;let s=e;(t||o)&&(s=JSON.stringify({raw:e,info:t,lid:o})),fetch(r,{method:"post",body:s}).then(()=>!0).catch(i=>i)}catch(r){console.rawError("BINARY_TO_REMOTE_FAILURE: ",r.message)}}convertArgumentsToText(e){let t=[],o,r=e.length;for(let s=0;s<r;++s){let i,l=e[s];try{i=JSON.stringify(l)}catch{}if(!i)try{i=ve(l)}catch{}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||m.LOG;r>m.ERROR?a(this,H).call(this,...o):r>m.WARN?a(this,k).call(this,...o):r>m.INFO?a(this,I).call(this,...o):r>m.LOG?a(this,w).call(this,...o):r>m.DEBUG&&a(this,oe).call(this,...o)}processOutput(e={}){try{let t="";if(this.applySymbolByName(e),!this.isTargetAllowed(e.target)||e.logLevel===m.OFF||this.options.requiredLogLevel>e.logLevel)return;let o=Array.prototype.slice.call(arguments,1);t=this.convertArgumentsToText(o);let r="",s="";if(s=this.format({...e,message:t}),++this.logCounter,this.isBrowser()?(e.environnment=E.ENVIRONMENT_TYPE.BROWSER,this.options.logToDom&&this.writeLogToDom(e,s,{message:t}),r=`%c${s}`):(e.environnment=E.ENVIRONMENT_TYPE.NODE,r=Q.getTextFromColor(s,{fg:e.color,bg:e.bgColor,isBold:e.bold,isUnderline:e.underline,isReversed:e.reversed}),this.options.logToFile&&this.writeLogToFile(s)),this.keepLog&&this.logHistory.push(r),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 te)console.rawLog(te[e]+` ${e} `)}applySymbolByName(e){try{e.symbol&&te[e.symbol]&&(e.symbol=te[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(this.options.logToRemote&&this.writeLogToRemote(e,...t),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.logToRemote&&this.writeLogToRemote(e,...t),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||a(this,w).call(this,"AnaLogger: Hook placed on console.error"),console.error=this.onDisplayError.bind(this)}overrideConsole({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){this.options.hideHookMessage||a(this,w).call(this,"AnaLogger: Hook placed on console.log"),e&&(console.log=this.onDisplayLog.bind(this)),t&&(console.info=this.onDisplayLog.bind(this)),o&&(console.warn=this.onDisplayLog.bind(this)),r&&this.overrideError()}removeOverrideError(){console.warn=a(this,H)}removeOverride({log:e=!0,info:t=!0,warn:o=!0,error:r=!1}={}){e&&(console.log=a(this,w)),t&&(console.info=a(this,I)),o&&(console.warn=a(this,k)),r&&this.removeOverrideError()}info(...e){return this.log(...e)}warn(...e){return this.log(...e)}table(...e){return this.isBrowser()?a(this,re).call(this,...e):this.buildTable(...e)}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=Ee.DEFAULT_FORMAT,{activeTarget:t="",override:o=!1}={}){if(e===Ee.DEFAULT_FORMAT)return this.applyAnalogFormatting({activeTarget:t,override:o})}convertToUrl({protocol:e,host:t,port:o,pathname:r}){if(!e||!t||!o||!r)return null;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=D.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||D.host,s=this.options.port||D.port;return t=this.options.pathname||t,this.convertToUrl({protocol:o,host:r,port:s,pathname:t})}addPlugin(e,t,o){this[e]=t,E.pluginList.push({pluginName:o,type:"local"})}addGlobalPlugin(e,t,o){E[e]=t,E.pluginList.push({pluginName:o,type:"global"})}getPluginList(){return Object.freeze(E.pluginList)}validatePlugin(e){for(let t=0;t<E.pluginList.length;++t)if(E.pluginList[t].pluginName===e)return!0;return console.warn(`The plugin ${e} is not registered`),!1}},_=E;F=new WeakMap,M=new WeakMap,C=new WeakMap,w=new WeakMap,I=new WeakMap,k=new WeakMap,H=new WeakMap,oe=new WeakMap,re=new WeakMap,ne=new WeakSet,Me=function(e){let t=this.generateNewContext(),o=Object.assign({},t,e);return o.color.toLowerCase().indexOf("rgb")>-1?o.color=Q.rgbStringToHex(o.color):o.color.indexOf("#")===-1&&(o.color=Q.colorNameToHex(o.color)),o},se=new WeakSet,Ce=function(){try{this.setTargets(j),this.setLogLevels(m),this.setContexts($)}catch(e){console.error({lid:4321},e.message)}return!1},u(_,"ALIGN",{LEFT:"LEFT",RIGHT:"RIGHT"}),u(_,"ENVIRONMENT_TYPE",{BROWSER:"BROWSER",NODE:"NODE",OTHER:"OTHER"}),u(_,"instanceCount",0),u(_,"pluginList",[]);var at=_,Ke=_,ct=Ke,ft=new _;export{at as AnaLogger,$ as DEFAULT_LOG_CONTEXTS,m as DEFAULT_LOG_LEVELS,j as DEFAULT_LOG_TARGETS,ft as anaLogger,ct as default};
4
4
 
@@ -67,8 +67,8 @@ export const DEFAULT_LOG_LEVELS = {
67
67
 
68
68
  export const DEFAULT_LOG_CONTEXTS = {
69
69
  // The default context
70
- DEFAULT : {contextName: "DEFAULT", logLevel: DEFAULT_LOG_LEVELS.LOG},
71
- LOG : {contextName: "LOG", logLevel: DEFAULT_LOG_LEVELS.LOG},
70
+ DEFAULT : {contextName: "DEFAULT", logLevel: DEFAULT_LOG_LEVELS.LOG, symbol: "check"},
71
+ LOG : {contextName: "LOG", logLevel: DEFAULT_LOG_LEVELS.LOG, symbol: "check"},
72
72
  DEBUG : {contextName: "DEBUG", logLevel: DEFAULT_LOG_LEVELS.DEBUG},
73
73
  INFO : {contextName: "INFO", logLevel: DEFAULT_LOG_LEVELS.INFO, color: "#B18904", symbol: "diamonds"},
74
74
  WARN : {contextName: "WARN", logLevel: DEFAULT_LOG_LEVELS.WARN, color: COLOR_TABLE[0], symbol: "cross"},
@@ -891,6 +891,7 @@ class ____AnaLogger
891
891
  let defaultContext = this.#contexts[DEFAULT_LOG_CONTEXTS.DEFAULT.contextName] || {};
892
892
  defaultContext = Object.assign({},
893
893
  {
894
+ lid : "",
894
895
  contextName: DEFAULT_LOG_CONTEXTS.DEFAULT.contextName,
895
896
  target : DEFAULT_LOG_TARGETS.ALL,
896
897
  symbol : "⚡",
@@ -1488,6 +1489,7 @@ class ____AnaLogger
1488
1489
  try
1489
1490
  {
1490
1491
  let message = "";
1492
+ this.applySymbolByName(context);
1491
1493
 
1492
1494
  if (!this.isTargetAllowed(context.target))
1493
1495
  {
@@ -1504,8 +1506,8 @@ class ____AnaLogger
1504
1506
  return;
1505
1507
  }
1506
1508
 
1507
- let args = Array.prototype.slice.call(arguments);
1508
- args.shift();
1509
+ // Clone arguments without the context (= the first argument passed) to generate the message
1510
+ let args = Array.prototype.slice.call(arguments, 1 /* => Ignore arguments[0] = context */);
1509
1511
 
1510
1512
  message = this.convertArgumentsToText(args);
1511
1513
 
@@ -1654,8 +1656,6 @@ class ____AnaLogger
1654
1656
  context = Object.assign({}, defaultContext, context);
1655
1657
  delete context.context;
1656
1658
 
1657
- this.applySymbolByName(context);
1658
-
1659
1659
  return context;
1660
1660
  }
1661
1661
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "analogger",
3
- "version": "1.20.2",
3
+ "version": "1.20.3",
4
4
  "description": "Js Logger",
5
5
  "main": "./src/ana-logger.cjs",
6
6
  "module": "./esm/src/ana-logger.mjs",
@@ -60,8 +60,8 @@ const DEFAULT_LOG_LEVELS = {
60
60
 
61
61
  const DEFAULT_LOG_CONTEXTS = {
62
62
  // The default context
63
- DEFAULT : {contextName: "DEFAULT", logLevel: DEFAULT_LOG_LEVELS.LOG},
64
- LOG : {contextName: "LOG", logLevel: DEFAULT_LOG_LEVELS.LOG},
63
+ DEFAULT : {contextName: "DEFAULT", logLevel: DEFAULT_LOG_LEVELS.LOG, symbol: "check"},
64
+ LOG : {contextName: "LOG", logLevel: DEFAULT_LOG_LEVELS.LOG, symbol: "check"},
65
65
  DEBUG : {contextName: "DEBUG", logLevel: DEFAULT_LOG_LEVELS.DEBUG},
66
66
  INFO : {contextName: "INFO", logLevel: DEFAULT_LOG_LEVELS.INFO, color: "#B18904", symbol: "diamonds"},
67
67
  WARN : {contextName: "WARN", logLevel: DEFAULT_LOG_LEVELS.WARN, color: COLOR_TABLE[0], symbol: "cross"},
@@ -887,6 +887,7 @@ class ____AnaLogger
887
887
  let defaultContext = this.#contexts[DEFAULT_LOG_CONTEXTS.DEFAULT.contextName] || {};
888
888
  defaultContext = Object.assign({},
889
889
  {
890
+ lid : "",
890
891
  contextName: DEFAULT_LOG_CONTEXTS.DEFAULT.contextName,
891
892
  target : DEFAULT_LOG_TARGETS.ALL,
892
893
  symbol : "⚡",
@@ -1484,6 +1485,7 @@ class ____AnaLogger
1484
1485
  try
1485
1486
  {
1486
1487
  let message = "";
1488
+ this.applySymbolByName(context);
1487
1489
 
1488
1490
  if (!this.isTargetAllowed(context.target))
1489
1491
  {
@@ -1500,8 +1502,8 @@ class ____AnaLogger
1500
1502
  return;
1501
1503
  }
1502
1504
 
1503
- let args = Array.prototype.slice.call(arguments);
1504
- args.shift();
1505
+ // Clone arguments without the context (= the first argument passed) to generate the message
1506
+ let args = Array.prototype.slice.call(arguments, 1 /* => Ignore arguments[0] = context */);
1505
1507
 
1506
1508
  message = this.convertArgumentsToText(args);
1507
1509
 
@@ -1650,8 +1652,6 @@ class ____AnaLogger
1650
1652
  context = Object.assign({}, defaultContext, context);
1651
1653
  delete context.context;
1652
1654
 
1653
- this.applySymbolByName(context);
1654
-
1655
1655
  return context;
1656
1656
  }
1657
1657