/*__ESM_BODY_START__*/
var e={490:(e,t,r)=>{var o=r(6);e.exports=function(e,t,r){return(t=o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},414:e=>{function t(){return e.exports=t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},e.exports.__esModule=!0,e.exports.default=e.exports,t.apply(this,arguments)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},288:(e,t,r)=>{var o=r(102).default;e.exports=function(e,t){if("object"!=o(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var s=r.call(e,t||"default");if("object"!=o(s))return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},6:(e,t,r)=>{var o=r(102).default,s=r(288);e.exports=function(e){var t=s(e,"string");return"symbol"==o(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},102:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function r(o){var s=t[o];if(void 0!==s)return s.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o={};(()=>{r.d(o,{Ov:()=>s,Yd:()=>u,ik:()=>c,Ny:()=>v});var e=r(490),t=r.n(e);class s{constructor(){}extractInfo(e){var t,r;return{time:new Date(e.timestamp),timestamp:e.timestamp,attributes:e.attributes,traceId:null===(t=e.context)||void 0===t?void 0:t.traceId,spanId:null===(r=e.context)||void 0===r?void 0:r.spanId,meta:{fromExporter:!0}}}export(e){e.forEach((e=>{var t;null!==(t=e.meta)&&void 0!==t&&t.fromInterceptor||console[e.level](`[${e.loggerName}]: ${e.message}`,this.extractInfo(e))}))}}var i=r(414),n=r.n(i);const l=e=>e.map((e=>n()({},e,{attributes:e.attributes&&n()({},e.attributes),context:e.context&&n()({},e.context)}))),a=()=>performance.timeOrigin+performance.now();class g{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t()(this,"_queue",void 0),t()(this,"_backedLogs",[]),t()(this,"_logLevel",void 0),t()(this,"_cleanUpTimeInterval",void 0),t()(this,"_collectTimeInterval",void 0),t()(this,"_queueLocked",!1),t()(this,"_collectIntervalId",void 0),t()(this,"_cleanupIntervalId",void 0),t()(this,"_exporter",void 0),t()(this,"subscribers",new Set);const{logLevel:r="debug",cleanUpTimeInterval:o=6e4,collectTimeInterval:i=1e3,exporter:n=new s}=e;this._logLevel=r,this._cleanUpTimeInterval=o,this._collectTimeInterval=i,this._exporter=n,this._queue=[],this.startLogInterval(),this.startCleanupInterval()}startLogInterval(){try{this._collectIntervalId=window.setInterval((()=>{this.notifySubscribers().catch((e=>console.error("Something went wrong while notifying subscribers: ",e)))}),this._collectTimeInterval)}catch(e){console.error("Something went wrong while setting up log interval: ",e)}}startCleanupInterval(){try{this._cleanupIntervalId=window.setInterval((()=>this.clear()),this._cleanUpTimeInterval)}catch(e){console.error("Something went wrong while setting up log cleanup interval: ",e)}}stopLogInterval(){window.clearInterval(this._collectIntervalId)}stopCleanupInterval(){window.clearInterval(this._cleanupIntervalId)}lock(){this._queueLocked=!0}unlock(){this._queueLocked=!1,this._queue=this._queue.concat(l(this._backedLogs)),this._backedLogs=[]}push(e){this._queueLocked?this._backedLogs.push(e):this._queue.push(e)}clear(){return this._queueLocked?(console.info("Log queue is currently locked. Queueing cleanup."),this._backedLogs=[],!1):(this._queue=[],!0)}forceFlush(){this._queue=[]}getLogs(){return l(this._queue)}set logLevel(e){this._logLevel=e}get logLevel(){return this._logLevel}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}async notifySubscribers(){this.lock();const e=l(this._queue);this.forceFlush(),this.unlock(),this.subscribers.forEach((t=>t(e)))}}class u{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"SnUiLogger",r=arguments.length>1?arguments[1]:void 0;t()(this,"name",void 0),t()(this,"loggerProvider",void 0),t()(this,"context",{traceId:"",spanId:""}),this.name=e,this.loggerProvider=r}_emit(e){this.loggerProvider.push(e)}emit(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{level:"info"};this._emit({loggerName:this.name,message:e,timestamp:a(),attributes:r.attributes,level:null!==(t=r.level)&&void 0!==t?t:"info",meta:r.meta})}info(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._emit({loggerName:this.name,message:e,timestamp:a(),attributes:t,level:"info"})}debug(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._emit({loggerName:this.name,message:e,timestamp:a(),attributes:t,level:"debug"})}warn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._emit({loggerName:this.name,message:e,timestamp:a(),attributes:t,level:"warn"})}error(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._emit({loggerName:this.name,message:e,timestamp:a(),attributes:t,level:"error"})}set logContext(e){this.context=e,this.loggerProvider.context=e}get logContext(){return this.context}}class c{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t()(this,"_logLevel",void 0),t()(this,"_logQueue",void 0),t()(this,"_context",void 0),t()(this,"_exporter",void 0),t()(this,"loggers",new Map),t()(this,"_isLoggingEnabled",!0);const{logLevel:r="warn",cleanUpTimeInterval:o=6e4,collectTimeInterval:i=1e3,context:n={traceId:"",spanId:""},exporter:l=new s}=e;this._logLevel=!0===r?"debug":r,this._context=n,this._logQueue=new g({cleanUpTimeInterval:o,collectTimeInterval:i,exporter:l}),this._exporter=l,this._logLevel&&this._createLogInterceptor()}push(e){this._isLoggingEnabled&&(e.context=this._context,this._logQueue.push(e),this._exporter.export([e]))}clear(){this._logQueue.clear()}set logLevel(e){this._logLevel=!0===e?"debug":e,e&&this._createLogInterceptor()}get logLevel(){return this._logLevel}getLogger(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"SnUiLogger",t=this.loggers.get(e);return t||(t=new u(e,this),this.loggers.set(e,t)),t}set context(e){this._context=e}get context(){return this._context}enableLogging(){this._isLoggingEnabled=!0,this._logQueue.startLogInterval(),this._logQueue.startCleanupInterval()}disableLogging(){this._isLoggingEnabled=!1,this._logQueue.stopLogInterval(),this._logQueue.stopCleanupInterval()}get isLoggingEnabled(){return this._isLoggingEnabled}get logQueue(){return this._logQueue}subscribe(e){return this._logQueue.subscribe(e)}_createConsoleLogInterceptors(){const e=this.getLogger(),t={};switch(this._logLevel){case"debug":t.debug=console.debug;case"info":t.info=console.info;case"warn":t.warn=console.warn;case"error":t.error=console.error}Object.keys(t).forEach((r=>{console[r]=function(){for(var o,s,i,n=arguments.length,l=new Array(n),a=0;a<n;a++)l[a]=arguments[a];const g=Array.from(l);null===(o=t[r])||void 0===o||o.apply(console,g),null!==(s=g[1])&&void 0!==s&&null!==(i=s.meta)&&void 0!==i&&i.fromExporter||e&&e.emit(g.join(" "),{level:r,meta:{fromInterceptor:!0}})}}))}_createErrorEventListener(){const e=this.getLogger();window.addEventListener("error",(t=>{if(e){const{error:r}=t;e.error(`${r.stack}\n`,{errorMessage:r.message})}}))}_createLogInterceptor(){this._createConsoleLogInterceptors(),this._createErrorEventListener()}}class h{constructor(){}printErrorMessage(){console.error("LoggerProvider has not been initialized yet. Please ensure you are on a seismic compatible page, and you have logging enabled")}push(){this.printErrorMessage()}clear(){this.printErrorMessage()}set logLevel(e){this.printErrorMessage()}get logLevel(){return this.printErrorMessage(),""}getLogger(){this.printErrorMessage()}set context(e){this.printErrorMessage()}get context(){return this.printErrorMessage(),{}}enableLogging(){this.printErrorMessage()}disableLogging(){this.printErrorMessage()}subscribe(){return this.printErrorMessage(),()=>{}}}class v{constructor(){var e,r;t()(this,"loggerProvider",void 0),this.loggerProvider=null!==(e=null===(r=window.nowUiFramework)||void 0===r?void 0:r.snUiLoggerProvider)&&void 0!==e?e:new h}subscribe(e){return this.loggerProvider.subscribe(e)}}})();var s=o.Ov,i=o.Yd,n=o.ik,l=o.Ny;
/*__ESM_BODY_END__*/
export{s as ConsoleLogExporter,i as Logger,n as LoggerProvider,l as LoggerSubscriber};
//# sourceMappingURL=/uxasset/externals/@devsnc/sn-ui-logger/index.min.js.map.jsdbx?sysparm_use_cache_buster=true&uxpcb=1756494069819