@embrace-io/web-sdk
Version:
3 lines (2 loc) • 2.1 kB
JavaScript
import{__assign as e}from"tslib";import{logs as t,SeverityNumber as r}from"@opentelemetry/api-logs";import{ATTR_EXCEPTION_TYPE as s,ATTR_EXCEPTION_MESSAGE as i,ATTR_EXCEPTION_STACKTRACE as o}from"@opentelemetry/semantic-conventions";import{KEY_EMB_UNHANDLED_EXCEPTIONS_COUNT as a,EMB_TYPES as n,KEY_EMB_TYPE as m,KEY_EMB_EXCEPTION_HANDLING as p,KEY_EMB_ERROR_LOG_COUNT as g,KEY_EMB_JS_EXCEPTION_STACKTRACE as c}from"../../constants/attributes.js";import"uuid";import{OTelPerformanceManager as u}from"../../utils/PerformanceManager/OTelPerformanceManager.js";var v=function(){function v(e){var r=e.perf,s=e.spanSessionManager;this._perf=null!=r?r:new u,this._logger=t.getLogger("embrace-web-sdk-logs"),this._spanSessionManager=s}return v._logSeverityToSeverityNumber=function(e){switch(e){case"info":return r.INFO;case"warning":return r.WARN;default:return r.ERROR}},v.prototype.logException=function(t,g){var c,u=void 0===g?{}:g,v=u.handled,l=void 0===v||v,y=u.attributes,f=void 0===y?{}:y,d=u.timestamp,b=void 0===d?this._perf.getNowMillis():d;l||this._spanSessionManager.incrSessionCountForKey(a),this._logger.emit({timestamp:b,severityNumber:r.ERROR,severityText:"ERROR",body:t.message||"",attributes:e(e({},f),(c={},c[m]=n.SystemException,c[p]=l?"HANDLED":"UNHANDLED",c[s]=t.constructor.name,c["exception.name"]=t.name,c[i]=t.message,c[o]=t.stack,c))})},v.prototype.message=function(e,t,r){var s=void 0===r?{}:r,i=s.attributes,o=void 0===i?{}:i,a=s.includeStacktrace,n=void 0===a||a;"error"===t&&this._spanSessionManager.incrSessionCountForKey(g),this._logMessage({message:e,severity:t,timestamp:this._perf.getNowMillis(),attributes:o,stackTrace:n&&"info"!=t?(new Error).stack:void 0})},v.prototype._logMessage=function(t){var r,s,i=t.message,o=t.severity,a=t.timestamp,p=t.attributes,g=void 0===p?{}:p,u=t.stackTrace;this._logger.emit({timestamp:a,severityNumber:v._logSeverityToSeverityNumber(o),severityText:o.toUpperCase(),body:i,attributes:e(e(e({},g),(r={},r[m]=n.SystemLog,r)),u?(s={},s[c]=u,s):{})})},v}();export{v as EmbraceLogManager};
//# sourceMappingURL=EmbraceLogManager.js.map