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