@sentry/core
Version:
Base implementation for all Sentry JavaScript SDKs
37 lines (29 loc) • 1.23 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
require('../utils-hoist/debug-build.js');
require('../utils-hoist/logger.js');
require('../utils-hoist/time.js');
require('../utils-hoist/syncpromise.js');
require('../debug-build.js');
const envelope = require('./envelope.js');
const CLIENT_TO_LOG_BUFFER_MAP = new WeakMap();
/**
* Flushes the logs buffer to Sentry.
*
* @param client - A client.
* @param maybeLogBuffer - A log buffer. Uses the log buffer for the given client if not provided.
*/
function _INTERNAL_flushLogsBuffer(client, maybeLogBuffer) {
const logBuffer = maybeLogBuffer ?? CLIENT_TO_LOG_BUFFER_MAP.get(client) ?? [];
if (logBuffer.length === 0) {
return;
}
const clientOptions = client.getOptions();
const envelope$1 = envelope.createOtelLogEnvelope(logBuffer, clientOptions._metadata, clientOptions.tunnel, client.getDsn());
// Clear the log buffer after envelopes have been constructed.
logBuffer.length = 0;
// sendEnvelope should not throw
// eslint-disable-next-line @typescript-eslint/no-floating-promises
client.sendEnvelope(envelope$1);
}
exports._INTERNAL_flushLogsBuffer = _INTERNAL_flushLogsBuffer;
//# sourceMappingURL=index.js.map