{"version":3,"file":"jsnlog-Dt22xkIP-601d0a.js","sources":["../../ClientSPA/src/boot/jsnlog.ts"],"sourcesContent":["import { boot } from 'quasar/wrappers';\r\nimport { JL } from 'jsnlog';\r\nimport useUtils from 'src/composables/utils';\r\nimport { ComponentPublicInstance } from 'vue';\r\n\r\nfunction getTimestampNow(): string {\r\n const date = new Date();\r\n const formattedDate = date.toISOString().slice(0, 19).replace('T', ' ');\r\n return formattedDate;\r\n}\r\n\r\nexport default boot(({ app }) => {\r\n const utils = useUtils();\r\n\r\n const decyclingSerializer = function (obj: unknown) {\r\n const decycledObject = JSON.stringify(obj, circularReplacer(), 0);\r\n return JSON.stringify(decycledObject);\r\n };\r\n\r\n function circularReplacer() {\r\n const seen = new WeakSet();\r\n\r\n return (key, value: unknown) => {\r\n // Handle non-objects\r\n if (typeof value !== 'object' || value === null) {\r\n return value;\r\n }\r\n\r\n // Detect circular reference\r\n if (seen.has(value)) {\r\n return '[Circular]';\r\n }\r\n\r\n // Add this object to seen objects\r\n seen.add(value);\r\n return value;\r\n };\r\n }\r\n\r\n JL.setOptions({\r\n requestId: utils.generateRandomId(),\r\n enabled: true,\r\n defaultAjaxUrl: process.env.LOGGER_URL ?? '',\r\n serialize: decyclingSerializer,\r\n });\r\n\r\n const logger = JL('VueLogger');\r\n\r\n //logger.debug({ message: 'On Boot...' });\r\n\r\n /*\r\n app.config.warnHandler = (\r\n msg,\r\n instance: ComponentPublicInstance | null,\r\n trace,\r\n ) => {\r\n // `trace` is the component hierarchy trace\r\n console.log('Vue Warning: ', msg);\r\n logger.warn({\r\n msg: 'Vue Warning - ' + msg,\r\n compnentName: instance?.$options?.name,\r\n trace: trace,\r\n });\r\n };*/\r\n\r\n // Throw errors in production so that we get them!\r\n app.config.throwUnhandledErrorInProduction = true;\r\n app.config.errorHandler = (\r\n err,\r\n instance: ComponentPublicInstance | null,\r\n info,\r\n ) => {\r\n console.log('Vue Exception in %s ', instance?.$options?.name, err);\r\n\r\n logger.fatalException(\r\n {\r\n timestamp: getTimestampNow(),\r\n msg: 'Vue Exception in ' + instance?.$options?.name,\r\n info: info,\r\n compnentName: instance?.$options?.name,\r\n err: err,\r\n },\r\n err,\r\n );\r\n };\r\n\r\n if (window && !window.onerror) {\r\n window.onerror = function (errorMsg, url, lineNumber, column, errorObj) {\r\n logger.fatalException(\r\n {\r\n timestamp: getTimestampNow(),\r\n msg: 'Uncaught Exception - On Error',\r\n errorMsg: errorMsg,\r\n url: url,\r\n 'line number': lineNumber,\r\n column: column,\r\n },\r\n errorObj,\r\n );\r\n\r\n return false;\r\n };\r\n }\r\n\r\n if (typeof window !== 'undefined' && !window.onunhandledrejection) {\r\n window.onunhandledrejection = function (event) {\r\n logger.fatalException(\r\n {\r\n timestamp: getTimestampNow(),\r\n msg: 'Unhandled Rejection',\r\n errorMsg: event.reason ? event.reason.message : null,\r\n },\r\n event.reason,\r\n );\r\n\r\n return false;\r\n };\r\n }\r\n});\r\n"],"names":["getTimestampNow","jsnlog","boot","app","utils","useUtils","decyclingSerializer","obj","decycledObject","circularReplacer","seen","key","value","JL","logger","err","instance","info","errorMsg","url","lineNumber","column","errorObj","event"],"mappings":"6DAKA,SAASA,GAA0B,CAG1B,WAFU,OACU,YAAA,EAAc,MAAM,EAAG,EAAE,EAAE,QAAQ,IAAK,GAAG,CAExE,CAEA,MAAAC,EAAeC,EAAK,CAAC,CAAE,IAAAC,KAAU,CAC/B,MAAMC,EAAQC,IAERC,EAAsB,SAAUC,EAAc,CAClD,MAAMC,EAAiB,KAAK,UAAUD,EAAKE,EAAA,EAAoB,CAAC,EACzD,OAAA,KAAK,UAAUD,CAAc,CAAA,EAGtC,SAASC,GAAmB,CACpB,MAAAC,MAAW,QAEV,MAAA,CAACC,EAAKC,IAEP,OAAOA,GAAU,UAAYA,IAAU,KAClCA,EAILF,EAAK,IAAIE,CAAK,EACT,cAITF,EAAK,IAAIE,CAAK,EACPA,EAEX,CAEAC,EAAAA,GAAG,WAAW,CACZ,UAAWT,EAAM,iBAAiB,EAClC,QAAS,GACT,eAAgB,iBAChB,UAAWE,CAAA,CACZ,EAEK,MAAAQ,EAASD,KAAG,WAAW,EAoB7BV,EAAI,OAAO,gCAAkC,GAC7CA,EAAI,OAAO,aAAe,CACxBY,EACAC,EACAC,IACG,CACH,QAAQ,IAAI,uBAAwBD,GAAU,UAAU,KAAMD,CAAG,EAE1DD,EAAA,eACL,CACE,UAAWd,EAAgB,EAC3B,IAAK,oBAAsBgB,GAAU,UAAU,KAC/C,KAAAC,EACA,aAAcD,GAAU,UAAU,KAClC,IAAAD,CACF,EACAA,CAAA,CACF,EAGE,QAAU,CAAC,OAAO,UACpB,OAAO,QAAU,SAAUG,EAAUC,EAAKC,EAAYC,EAAQC,EAAU,CAC/D,OAAAR,EAAA,eACL,CACE,UAAWd,EAAgB,EAC3B,IAAK,gCACL,SAAAkB,EACA,IAAAC,EACA,cAAeC,EACf,OAAAC,CACF,EACAC,CAAA,EAGK,EAAA,GAIP,OAAO,OAAW,KAAe,CAAC,OAAO,uBACpC,OAAA,qBAAuB,SAAUC,EAAO,CACtC,OAAAT,EAAA,eACL,CACE,UAAWd,EAAgB,EAC3B,IAAK,sBACL,SAAUuB,EAAM,OAASA,EAAM,OAAO,QAAU,IAClD,EACAA,EAAM,MAAA,EAGD,EAAA,EAGb,CAAC"}